Build a website which allows customers to review local restaurants:
- The site admin should have a tool to add restaurants to a list including type and address.
- Users can see a list of the restaurants displayed on the home page without needing to log in.
- The home page should display the restaurant name and a thumbnail photo.
- If a restaurant is selected it should load a details page that includes its address and more photos.
- If a user is logged in this details page should display all the reviews left by customers with the latest one at the top
- If the user is logged in both the home page and details page should display the average rating left by the reviewers.
- Whilst on the details page they should be able to leave their own review including a rating on a scale of 1-5 stars.
- In addition, the restaurants should be displayed in rating order with the best rated at the top.
- All reviews should be marked as pending until the site admin releases them.
- Pending reviews should not be publicly visible.
- The site should implement full-text searching.
- Logged in users can add comments to other people's reviews.
- Restaurants can be assigned to the owner's account who can update their own restaurant details (one owner might be assigned several restaurants).