Project - rakeshr99/radhakrishnan-rakeshkrishna-webdev GitHub Wiki
Project Description
Finding good restaurants around you wherever you travel is pretty challenging, When on vacation or traveling, food is one of the main reasons which makes traveling experience delightful and fun, Trying the favorite cuisines nearby, pubs, cafes, and restaurants. For this, we need a good web application. If not traveling even when you are at home we would like to know the new restaurants which opened nearby. We would also like to know the timings of restaurants, Find the menu online, search by cuisines, read reviews of the restaurant and then take a chance to explore it and also know contact details of the restaurant to order a home delivery.
For this, we are building a web application in which the user can search for all the restaurants in a given location. Details such as cuisine, the menu will be available on the application. The contact details of the restaurant will help the user order a home delivery.The user can go read the reviews and ratings given by customers who have tried the restaurant already.
The application will have a separate login for owner's who can add their restaurant to the website. If the restaurant is making any changes to the menu, new additions or adding new services, the owner can log in and update all these details time to time. In this way, all the details of the restaurant are up to date.
Registered user can write, update or delete reviews. Information regarding the minimum order, delivery charges, whether or not cards are accepted will be mentioned in the restaurant's details page.
The application will have an admin user, who can maintain the website, add or delete restaurants, delete any reviews which are inappropriate.An anonymous user who hasn't registered can look up restaurants and read reviews of restaurants.
API
Yelp Fusion
3 potential domain objects
- Restaurant
- Reviews
- Contact Information/Location
potential human users for domain
- Registered User
- Restaurant Owner
- Anonymous User
- Application Admin
Goals of users
Registered User
- User can write reviews about a restaurant and provide ratings.
- User can see the details of the restaurant.
- User updates his/her reviews.
Anonymous user
- User can search for restaurants nearby
- User can get all the contact details required
- User can read only limited number of reviews
Owner
- Owner can add a new restaurant to the website.
- Owner can update existing details of the restaurant in case if any new services are added or contact details of the restaurant. add photos and links, business hours and phone number, address.
- Owner can delete the restaurant if they are planning to close down or take their restaurant off the internet.
relation with domain objects
- registered user -> Restaurant - many to many
- registered user -> Reviews- many to many
- Restaurant owner -> Restaurant - many to many
- Restaurant owner -> Reviews- many to many
- Anonymous user -> Restaurant - many to many
- Anonymous user -> Reviews- many to many
relations with other users
- registered user can be related to many Restaurant owners
- Restaurant owner can be related to many registered users
- Anonymous user can read reviews of many registered users
- Anonymous user can see all the restaurants added by restaurant owners
- The Restaurant owner can reply to many reviews written by customers.
- registered or anonymous users can read all the details updated by restaurant owner,
relations with other domain objects
- Restaurant -> Reviews - many to many
- Restaurant -> contact information - one to one