Disclaimer: This article was written few years ago and may no longer be relevant as software engineering has changed a lot in the last few years. This is what may be more relevant now: Future of Software Engineering - Gaurav ChandakBuild a website where users can rate and review certain products.
Examples
- Movies: IMDb
- Books: Goodreads
- Doctors/Hospitals: Practo
- Companies: Glassdoor
- Hotels/Destinations: Tripadvisor
- Restaurants: Zomato
- Amazon Reviews: E-commerce
- Businesses: Google, Facebook, Yelp
- Local Services: HomeAdvisor
- Apps: Play Store/App Store
Choose a single type from the above list and start building.
You can design the website as you want. Take inspiration from all the above websites.
Mandatory Requirements
- The users should be allowed to view the ratings and reviews of any products without logging in.
- Rating or Reviewing
- Should require a login
- A user should be able to rate/review a product only once
- Users can rate/review a product again only after deleting their current selection.
- Product List Page
- List of products
- Basic Product Information (Thumbnail, Title, Release Year/Cuisine/Author/Basic Facilities)
- Average rating
- Total rating count
- Their rating (if rated) and allowing them to rate
- Show login dialog if they try to rate but are not logged in
- Product Detail Page
- Basic Product Information as mentioned above (at least)
- Average rating
- Total rating count
- Their rating (if rated) and allowing them to rate
- Review count
- All reviews with their review at the top (if reviewed)
- Show login dialog if they try to rate/review but are not logged in
Optional Requirements
- Sorting (avg. rating, rating count, etc) and Pagination
- Additional Product Details.
- Use a public API to get product details and store them in your DB.
Make sure to deploy your code on Heroku or some other hosting service. Add the hosted link to your GitHub repository.



