Movie Ranker
Phase 1 — Server & local database
- Create a server with
/search?title,/search?actor,/movie/<id>endpoints - Create a SQLite database storing movies, actors, ratings, trailers, reviews
- Aggregates the ratings from various sources to 0–5 and 0–100 scales
Functional result: Running the server and calling /search?title=Inception returns a normalized JSON movie object with aggregated scores (both 0–5 and 0–100) or empty arrays if not yet known (stored in the database).
Phase 2 — External fetch & caching
- Create adapters (at least 3) for IMDb, RottenTomatoes, TMDB, YouTube or other similar platforms
- If the title is not stored: fetch data, normalize, and save to DB
- Fetch short review snippets + links where available
Functional result: Unknown titles trigger live fetch, store, and return combined ratings, trailers, and reviews.
Phase 3 — Client GUI (Tkinter)
- Search by title or actor
- Display results list, rating details, trailers, and reviews
- Open trailer links in browser
Functional result: The user searches by title or actor, sees a list of results, selects one, and the UI shows scores from multiple sites, trailers, and reviews; links open correctly.
Phase 4 — Refresh & minimal errors
- “Refresh data” button to re-fetch from external sources
- Minimal errors only: brief banner if an external source fails; partial results still displayed
Functional result: Selecting a movie and pressing Refresh re-pulls external data and updates aggregated scores.