Coder Social home page Coder Social logo

opentaste's Introduction

OpenTaste

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.
Public users can also enjoy the website without loggingin and browse all listed restaurants.

Built with

  • Python JavaScript Docker CSS3 React Redux Postgres Heroku GitHub Git Postman macOS Flask SQL/SQLAlchemy

Project Wiki and Design

On OpenTaste, you can:

  • 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

Splash Page

  • 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.

1

Looking for a specific one? -- Search for it!

  • 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.

2

Restaurant Detail Page

  • 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.

3

Restaurant Owners - MyRestaurant List

  • 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.

Restaurant Owners - New Restaurant Listing Page

  • 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.

Restaurant Owners - Customer Reservations

  • Check customer reservations under tab [See Reservations] in restaurant Detail Page.

4

Customer -- Reserving on MainPage

  • 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.

Customer -- MyReservation List

  • customers can check their reservations in MyReservation page.
  • Only unexpired reservations can be edited/cancelled, expired reservations would not be edited.

5

Customer -- Leave a Review!

  • customers can review on their reservation experiences in MyReservation page.
  • Only customers who booked reservation at a particular restaurant can create/edite/cancell reviews.

6

Running it locally

  1. Clone this repository (only this branch)

    git clone https://github.com/alice886/OpenTaste.git
  2. Install dependencies

    pipenv install -r requirements.txt
  3. Create a .env file based on the example with proper settings for your development environment

  4. Make sure the SQLite3 database connection URL is in the .env file

  5. 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

Thank you for visiting OpenTaste! Let me know if you have any questions or feebacks and please feel free to connect with me on GitHub =)

opentaste's People

Contributors

alice886 avatar

Stargazers

Roman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.