...Looking for a unique and special culinary experience? Look no further than Private Gourmet App! We'll help you find the perfect chef for your needs, and book them right away so you can focus on what's important"
Private Gourmet - An app that allows you to find and book the best private chefs in town. And able you to experience fine dining in your home kitchen.
- Deployed Link using Heroku: Private Gourmet App
- Features:
- Reservation Page
- User's Sign-in and Create an account page
- Demo
- Featured functionalities
- Framework and Packages
- Future Development
- Feedback or Contribute
- License
- Reference
- Credits
- Demonstration of the app, that allows users to explore the different navigation of Private Gourmet app.
- For a non-user page, featuring: HOME | ABOUT | CHEFS | RESERVATION(A protected route for registered users only)
- For a registered users page, featuring: HOME | ABOUT | CHEFS | RESERVATION(Which allows you to make a booking)
Responsive UI
- pages with 4 main routh path and nested routes.
Protected routes
- Reservation page that only allowed registered user to make a booking.
Ability to save user's data
- Data was able to pass through those input fields (Reservation page & Create an account page) and saved it in their specific collection fields.
- Password was converted to hash strings
- Reservation set of fields was saved as an objectID to the users collection
GraphQL concept
- used queries and useMutation to post data
- schemas for the typeDefs and resolvers
Server-side
- Using MongoDB and Mongoose for the Database
- Using apollo server to create queries and mutations to interact with the API
- Include JWT (Json Web Token) for authentication
Added service worker functionality
- (not sure if its working)
Client-side
- React 18
- Material UI (css library)
- Customised CSS (file.module.css)
- Datepicker (Material UI + dependencies)
Server-side
- Nodejs
- Expressjs
- MongoDB Atlas
- Apollo server express
- bcrypt
- jsonwebtoken (JWT)
- Auth middleware
- nodemon
Deployment
- Heroku
- changed to localhost:5000
- Procfile
- added scripts for client-side and server-side package.json
Minor features
- For datepicker: have to pass the data as a string not null
- For ChefSelection: have to pass the data from the selected chefs
- Polish the navigation routes
Major features
- user's 2-way verification
- Have an admin & client's login page
- users login: update their profile
- admin page: be able to have a dashboard (a list of booking dates)
- search field converts to search category (premium & budget)
- able to send the reservation once submitted: client(to receive confirmation of the reservation details) and chefs(to receive a reservation email booked by the client)
Hello World π
- This past 6 months was been a rollercoaster journey, I didn't think of myself that I will be able to build something different out of my comfort zone. An awesome learning experience, with frustrations and some continuous graveyard shifts just to code and learn through applying what I've learned.
If you want to keep in touch and fork my private gourmet app, I'm grateful to collaborate and learn from your expertise.
Hello World! My friend π
I'm looking forward to hear from your feedback or suggestion email: [email protected]
All rights reserved. Under the of
React Router (Sandbox)
Apollo Sandbox
Pexels & Adobe Stock
- for the images used for this app
Documentations
- https://mui.com/material-ui/getting-started/overview/
- https://graphql.org/learn/schema/#the-query-and-mutation-types
- https://reactrouter.com/en/main
- stackoverflow contributions by the other developers
- and many more..
Thank you π¨βππ¦π
- Thank you so much Sam π¦π & James for the patience and effort for us to grasp and understand what we are suppose to be doing.
- And to Trilogy Education..