Snacks in a Van
- ReactJS
- Express
- MongoDB
Snacks in a Van is a website for a mock food truck company. It allows customers to find a van, make an order and vendors to handle those orders. It was originally a university group project. After project completion, I gave it a complete design overhaul and refactored a lot of the functionality.
Requirements
The brief we were given outlined several important features required in the app:
- Customer should be able to find nearest van
- Customer should be able to select from a specific menu (the same one for all vans)
- Upon making an order, it should become visible to the vendor
- Customers should be able to change their order after making it
- Customers should be able to use the site on any device, vendors are expected to use an iPad
My Contributions
- Design and styling using CSS only (no theme/component library used)
- Backend and frontend socket API implementation for instant feedback of orders
- Complete authentication system using JWT tokens and React Router
- 2 way snack category selector ('drinks' / 'food' category changes based on scroll and button click)
- Automatic login popup and redirection based on logged in status and page
- Vendor order information cards with colour "urgency" indicator
- Snackbar component
- Pagination component
- Google Maps integration with react-google-maps module
Future Improvements
- Proper payment system using Stripe
- More menu items like size and milk type for coffees
- More vendor control, like the ability to inform customers if certain items are unavailable