Welcome to Watch It, an entertainment application that offers a vast collection of movies to users, inspired by the popular platform.
Watch It is designed with 6 main entities to efficiently manage and track movie-related data:
- User: Users have unique IDs, usernames, passwords, and personal information. They can subscribe to different plans, mark movies to watch later, and maintain a watch record.
- Subscription: Subscriptions are categorized into Basic, Standard, and Premium plans, each with its price and start date.
- Movie: Movies are characterized by various attributes such as ID, title, release date, duration, cast, genres, director, language, IMDb score, country, budget, revenue, and poster image.
- Cast: Actors in the movies are represented by their first name, last name, age, gender, list of movies, and nationality.
- Director: Directors are depicted with their first name, last name, age, gender, list of movies, and nationality.
- User Watch Record: This entity tracks users' movie-watching activities, including the date of watching and user ratings.
Subscriptions are valid for 30 days. Users under the Basic, Standard, or Premium plan have specific limits on the number of movies they can watch per month. After 30 days, users need to renew their subscription to continue watching movies.
- CRUD Operations: Users can add, update, and delete entities such as movies, subscriptions, and user watch records.
- View Watchlist: Users can display the list of movies marked for later viewing.
- View Watch History: Users can view all movies they have already watched.
- Movie Rating Update: Movie ratings are updated based on user watch records.
- Top-Rated Movies: Users can view top-rated movies based on user ratings.
- Subscription Analysis: Admins can see the most subscribed plan among Basic, Standard, and Premium.
- Revenue Analysis: Admins can analyze revenue trends by summing up plan prices subscribed in a month.
- View Cast and Directors: Users can explore information about cast members and directors.
- Search Functionality: Users can search for movies, directors, and actors by name.
- Genre Search: Users can search and display movies by genre.
- Top Watched Movies: Users can view the top-watched movies.
- Recent Movies: Users can explore recently released movies.