Burps is a user-friendly food ordering application that simplifies the process of discovering, selecting, and ordering delicious meals from a wide range of local restaurants.
With an intuitive interface and a vast selection of culinary options, Burps offers users the convenience of browsing diverse menus, customizing orders, and tracking deliveries in real-time. Currently, Burps have a customer site and vendor portal.
Feel free to explore the demo site here!
This is a final fullstack web application as part of General Assembly's Software Engineering Immersive.
- Explore a wide array of delicious options from nearby restaurants.
- Effortlessly place orders from your favorite restaurants.
- Seamlessly place orders and check out with ease.
- Receive real-time order updates through non-intrusive snack bar notifications.
- Monitor your order status in an elegant tracker.
- Conveniently add, remove, and update your store's menu items.
- Easily toggle item availability with a single click.
- Receive immediate notifications for incoming orders. Keep customers informed about order status with just a click.
- Access all customer feedback in one place.
- React
- TypeScript
- CSS
- Material UI
- Express.js
- Database: PostgreSQL
- Driver: Node-progres (pg)
- Image storage: AWS S3
- Socket.io
- Data modelling: Draw.io
All the backend code is in the Back-end directory. Run all backend commands from inside that directory.
Create a new .env file in the back-end directory and add the following lines:
PORT=5001
DATABASE=burps
DB_USER=''
HOST=127.0.0.1
PASSWORD=''
#Generate your own secrets
ACCESS_SECRET=''
REFRESH_SECRET=''
# AWS variables for image
BUCKET_NAME=''
BUCKET_REGION=''
ACCESS_KEY=''
SECRET_ACCESS_KEY=''
Add in your values here.
- The database has to be for a Postgres database. You may create all the tables using the .sql here
- Generate your own Access Secret and Refresh Secret
- Add in credentials for your AWS S3 bucket
npm i
npm run dev
All the frontend react code is in the Front-end directory. Run all frontend commands from inside that directory.
Create a new .env file in the front-end directory and add the following lines:
VITE_SERVER=http://localhost:5001
npm i
npm run dev
Check out the Figma here!
- Add chatbox to ease communication between customer and vendor
- Add dashboard to vendor portal to populate sales analytics
- Utilize OneMap API to estimate distance time for order deliveries
- Incorporate payment method using Stripe
Backend:
TypeScript React:
-
Argument of Type 'string | null' is Not Assignable to Parameter of Type 'string'
-
TypeScript: 'Cannot Invoke an Object Which is Possibly 'Undefined'
-
How to Make the Browser Go Back to the Previous Page Using JavaScript
Deployment:
- Special credit to Ivan Tong for designing the wireframes! ❤️