OpenTabl
opentabl is a clone of the restaurant reservation website opentable (clever renaming I know). Allowing users to make reservations, reviews, and (eventually) favorite restaurants in the area! Here is the home page.
Technologies
- React
- Redux
- JavaScript
- Ruby on Rails
- AWS S3
- Google Map API
- PostgreSQL
- Webpack
User Auth!
- Built a modal that is used on the session create form and the user create form. In order to easily navigate features of site we have a nice demo user login!
- User authentication is implemented on both frontend and backend with presence validations. Uniqueness contraints (for username and email) are enforced in models and database. Upon a successful signup, the password is hashed using BCrypt and saved to the database as a password digest.
- Errors are rendered in the modal on unsucessful login or signup to steer the user in the right direction
Search bar
- Constructed a search bar that filters the results in the real time.
- The results can be filtered by the restaurant and cuisine on the homepage and the neighborhood, restaurant, and cuisine on the search page. The search page also contain gives the User the most common neighborhoods and cuisine.
User Profile
- Built a user profile that gives the user the ability to browse all pertinent info. From saved restaurants, reservations, and written reviews, then gives them the ability to edit and delete if so desired!
- Each tab is a distinct route within the profile component making it inacessible to those other than the person logged in.
Review Crud
- User are able to leave reviews when logged in (the review button toggling to a reminder that a user MUST be logged in to create review)
- After the review is created the user can access the review on the restaurant show page or within the user profile. Both areas allow the user to edit or delete the form.
Reservation CRUD
- User can begin a reservation on the restaurant show page, then must confirm the reservation on the next page. If the reservation is not confirmed it will not show up within the user profile.
- In the profile the user can edit the reservation(minor details of it) and delete it all together.