A Console Based Application implemented in Java
. The movie review service collects reviews for movies from its users. Later these movie reviews are used to derive insights which helps in enriching the lives of its customers with entertainment.
This Console application is implemented using Data Structures and OOPS Concepts. It is a menu driven application where we can add users, movies and the review of the movies satisfying all the requirements and internal capabilities listed below. Later we can fetch all the movies and their reviews that are entered by the user. It has a feature that upgrades a user depending upon the number of reviews he/she gave and their reviews will have a higher priority than other fellow users.
- Users of the service can review only movies which are released so far, they cannot review upcoming movies.
- Users can give a review-score between 1 to 10. (Higher the score the better the liking for the movie). Currently we are not allowing a user to review the same movie multiple times.
- The service by default on-boards a user as a ‘viewer’. Later a ‘viewer’ can be upgraded to a ‘critic’ after he/she has published more than 3 reviews for various movies.
- Critics are considered as experts in the judgement here, so critics reviews will be captured with more weightage. i.e. 6 review rating of a critic will be considered as 12 (2x) NOTE: Older reviews by the user as
viewer
shall not be affected.
This application has following features that are implemented :
- Adding users and movies.
- User to review a movie.
- List top n movies by total review score by ‘critics’ in a particular genre.
- Average review score in a particular year of release
- Average review score for a particular movie.
a. Add Movie("Don" released in Year 2006 for Genres “Action” &
“Comedy”)
b. Add Movie("Tiger" released in Year 2008 for Genre “Drama”)
c. Add Movie("Padmaavat" released in Year 2006 for Genre “Comedy”)
d. Add Movie("Lunchbox" released in Year 2021 for Genre “Drama”)
e. Add Movie("Guru" released in Year 2006 for Genre “Drama”)
f. Add Movie("Metro" released in Year 2006 for Genre “Romance”)
a. Add User(“SRK”)
b. Add User(“Salman”)
c. Add User(“Deepika”)
a. add_review(“SRK”, “Don”, 2)
b. add_review(“SRK”, “Padmavaat”, 8)
c. add_review(“Salman”, “Don”, 5)
d. add_review(“Deepika”, “Don”, 9)
e. add_review(“Deepika”, “Guru”, 6)
f. add_review(“SRK”,”Don”, 10) - Exception multiple reviews not allowed
g. add_review(“Deepika”, “Lunchbox”, 5) - Exception movie yet to be
released
h. add_review(“SRK”, “Tiger”, 5). Since ‘SRK’ has published 3 reviews, he is promoted to ‘critic’ now.
i. add_review(“SRK”, “Metro”, 7)
Paste below line in the console input after you run the code from MovieMain.java
1 SRK 1 1 SALMAN 1 1 DEEPIKA 1 2 DON 2006 2 ACTION COMEDY 1 2 TIGER 2008 1 DRAMA 1 2 PADMAAVAT 2006 1 COMEDY 1 2 LUNCHBOX 2021 1 DRAMA 1 2 GURU 2006 1 DRAMA 1 2 METRO 2006 1 ROMANCE 1 3 SRK DON 2 1 3 SRK PADMAAVAT 8 1 3 SALMAN DON 5 1 3 DEEPIKA DON 9 1 3 DEEPIKA GURU 6 1 3 SRK DON 10 1 3 DEEPIKA LUNCHBOX 5 1 3 SRK TIGER 5 1 3 SRK METRO 7 1