Question
Restaurant Review System This project will give you more experience building multi-tier web applications. In this project you will develop a small-scale restaurant review system.
Restaurant Review System
This project will give you more experience building multi-tier web applications. In this project you will develop a small-scale restaurant review system. This system should be a multi-page web application. You will also gain experience working with databases and designing a good data model for your web application to use. You will demonstrate data modelling skills learned from the pre-requisite database class by creating a good data model and implementing it by creating database tables.
Database Table Requirements:
Create a data model and implement it by creating database tables for the following system. You will be graded on how well you designed the database for this project.
Restaurant Review System Requirements:
Your project needs to implement the following transactions.
- Allow for different types of users to use the application. There are three types of application users: reviewers, restaurant representatives, and simple site visitors. The application must implement the ability to add a new account for either a review writer or restaurant representative:
Review writers are a different type of user than a restaurant representative in this web application. A reviewer account is a user that has an account with our site that can view reviews for restaurants, create new reviews, modify reviews, and make reservations to dine at a restaurant. A restaurant representative account has a different level of access; they can view and manage information related to their restaurant and manage reservations that were made by other users of the application. Also, the site can be used by simple site visitors that have no level of access other than viewing restaurants and reviews. Therefore, they all have different levels of access to the application and the data managed by it. A site like this would rely on a login page to determine the user and their access privileges. However, you do not need to create a login page for this application. In the interest of time, you can devise a simpler solution that allows the users to choose whether they are a reviewer or representative, enter some information to identify and locate them in the database, and take them to the pages related to their level of access as a reviewer or representative.
- Add a new restaurant:
Create an ASPX page to allow the user (reviewer) or restaurant representative to add a ta0new restaurant. This operation is also used in conjunction with creating a review for a restaurant that doesnt exist in the database. If the restaurant doesnt exist, then the reviewer is essentially creating the restaurant record for the database to use. You must include the ability to assign a restaurant representative to a restaurant.
- Add Reviews:
Create an ASPX page to allow the user (reviewer) to add a new review. The review must include written comments pertaining to the restaurant and giving the restaurant a rating for 4 elements: a rating from 1 to 5 stars where 5 is the best for the food quality, a similar rating for the service, a rating from 1 to 5 for the restaurants atmosphere, and a price level rating from 1 to 5 dollars where 5 is the most expensive. If the restaurant doesnt exist, you should direct the user to add the restaurant and its information before allowing them to review it.
- Delete Reviews and Modify an existing reviews Information:
You can use the same ASPX page to implement the delete review transaction and the modify existing review transaction, because they both require access to a users reviews. The user should only have access to their reviews, not another persons review.
- Perform a search for restaurants information based on a category:
A user can enter the initial letters of a category name and see a display of the complete list of restaurants that match the category. You could implement this with a search or by displaying a list of categories. This search should produce a list of restaurants so the user can choose one and view its information along with the reviews for it. You must allow the user to choose more than one category (for example, the user wants to see Italian and American restaurants). This display is to be presented in a dynamic display using a Grid View, but you can use a Repeater. Any user can search for restaurants and view information regarding restaurants, not just users that have accounts with the site.
- Display Reviews for a restaurant:
The application should display the restaurants information, reviews, and display the average ratings for the food, service, and price. This display is to be presented in a dynamic display using a Grid View, but you can use a Repeater.
Any user can view reviews for a restaurant, not just users that have accounts.
- Make a reservation:
The application must allow the user to find a restaurant, view information about it, and make a reservation. Update the database to record the reservation for the restaurant.
- Delete reservations and modify existing reservations:
The application must allow the user to view, modify, and delete reservations they created.
- Allow restaurant representatives to manage restaurant information and reservations:
- The application must allow a restaurant representative to view and update information related to the restaurant. The application must allow the restaurant representative to assign an image used in the display. Hint: simply store a URL to an image on the web instead of storing images in the database.
- Allow the representative to view all reservations for a particular restaurant as well as modify and delete reservations. This display is to be presented in a dynamic display using a GridView, but you can use a Repeater.
- Reviewers must not be allowed to view this information nor should any user that isnt associated with the specific restaurant.
- Make the site professional and attractive:
You can use Bootstrap, CSS, or any other tools to style your site, but I expect your site to look professional through the use of colors, styles, and images.
- Make use of Stored Procedures:
You must use stored procedures for all database operations.
- Use server-side input validation for all transactions where necessary.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started