OpenTaste is a fullstack clone of OpenTable which provides reservation services among restaurants and customers.
For Restaurant owners, they can list their restaurant on OpenTaste, manage restaurant updates and check customer reservations.
For enrolled users, they can browse all listed restaurants, make reservation in Home page or in Restaurant detailed page, as well as edit/cancel unexpired reservations.
- Browse/Create/Edit/Delete Restaurants
- Check/Create/Edit/Delete Reservations
- (upcoming feature) Search Reservations
- (upcoming feature) Browse/Add/Edit/Delete Reviews on Restaurants
- (upcoming feature) Add restaurants to/Remove restaurants from users' Favourite List
- Both public and loggedin user can browse all restaurants on the site.
- Available timeslots for today's date are presented in red and else in gray.
- Clicking on each restaurant will direct to the Restaurant Detail Page.
- Anyone could utilize the Search fearture and navigate the site with key words.
- Indicative Search is here to help.
- Sorting and Filters are available to funnel down the result.
- In Restaurant Detailed Page, Overview information is available to all users on the left.
- Business details include Price Range, Cuisine, Description, Location and Business Hours.
- Reservation Form for the restaurant is located to the right and only loggedin user can make rservations.
- Under MyRestaurant Page, business owner can see all listed restaurants.
- Owners can update details or opt to delete the listing with the Manage/Edit button on the right.
- By cliking [List A New Restaurant] button in MyRestaurant page, users will be direct to the Listing Page shown below.
- After completing all requirements of the form, user can sucessfully post a new restaurant on OpenTaste! Congrats!
- If any requirement is not met, submit button would be disabled.
- Check customer reservations under tab [See Reservations] in restaurant Detail Page.
- By clicking the red timeslots in Home page, customers can make reservations in the reservation modal.
- Customers can also change date and time in the modal if there is any available spots.
- customers can check their reservations in MyReservation page.
- Only unexpired reservations can be edited/cancelled, expired reservations would not be edited.
- customers can review on their reservation experiences in MyReservation page.
- Only customers who booked reservation at a particular restaurant can create/edite/cancell reviews.
-
Clone this repository (only this branch)
git clone https://github.com/alice886/OpenTaste.git
-
Install dependencies
pipenv install -r requirements.txt
-
Create a .env file based on the example with proper settings for your development environment
-
Make sure the SQLite3 database connection URL is in the .env file
-
Get into your pipenv, migrate your database, seed your database, and run your Flask app
pipenv shell
flask db upgrade
flask seed all
flask run