Cup 'N CakeZ is a full stack project that aims to unite people and businesses, built around the idea that communication is key. It provides a way for the customers of a restaurant to not only place an order online, but make special requests. For the restaurant owner, it is possible to let the user know how long it will take for their order to be ready, offering a personalised experience.
This project is a simpler version of Ritual, for a single restaurant. It uses Twilio service to implement an SMS communication between the client and the restaurant. This project was proposed by Lighthouse Labs.
As a customer, I would like to leave for a pickup, knowing that my order is already being prepared. I also like to know how long it will take for it to be ready, so I can plan myself accordingly.
As a business, I want to expand my customer base, by showing what I have to offer. I want my customers to be able to order right away, knowing that their order is already being taken care of.
Where the customer arrives, after the Login/Register step.
Where the restaurant has access to an overview of previous orders, and can inform customers about preparation time and when their order is ready for pickup.
Customers may check the status of their order and keep track of previous orders.
- Fork this repository, then clone your fork of this repository.
- Install dependencies using the
npm install
command. - Fix to binaries for sass by running
npm rebuild node-sass
. - Build or reset the database with the
npm run db:reset
command. - Start the web server using the
npm run local
command. The app will be served at http://localhost:8080/. - Go to http://localhost:8080/ in your browser.
Login
using your email and password. If no account, visit theRegister
page to register using your information.- On the main page, scroll through the menu or search what you would like in the search bar.
- Add the food by clicking on the
Add-To-Cart
button and the item should appear on your cart on the right hand side. - Add a tip or notes if applicable. You can also clear your cart if you want to start over again.
- Click the
Order Now
button if you are ready to order. - You should receive a confirmation SMS on your phone.
- When the owner updates the prep-time, you will receive another SMS with the preparation time.
- When the owner finishes preparing the order, you will receive another SMS informing you that you can pick up your order!
- You can view your order history in the My Orders page in the navigation bar.
- When a user puts on a new order, an SMS is sent to the restaurant/owner number.
- Login using the owner email and password. (set in
id = 1
incustomers
table) - The system pages shows the orders.
- Update the prep-time information. That will send an SMS to the user informing the preparation time.
- When the order is ready, inform the user by SMS by clicking on Finished!
- Bcrypt
- Chalk
- Cookie-session
- Dotenv
- EJS
- Express
- Morgan
- Pg
- Pg-native
- Sass
- Twilio
- Twilio-cli
- Nodemon