Food Ninja API
Backend for the Food Ninja app — auth, image uploads, real-time order updates, and SMS and email notifications.
Express · MongoDB · Socket.io
overview
The service behind the Food Ninja mobile app. It covers the full order lifecycle — accounts, restaurant and menu data, order placement, and delivery tracking.
Order state is pushed to clients over WebSockets rather than polled, so a customer watching their delivery sees changes the moment they happen. Notifications go out over both SMS and email depending on how urgent the update is.
highlights
- Real-time order tracking pushed over WebSockets
- SMS notifications through Twilio
- Transactional email for receipts and account flows
- Image upload handling for menu and profile media
- JWT auth with bcrypt-hashed credentials
stack
Framework
Express Node.js
Database
MongoDB Mongoose
Real-time
Socket.io
Auth
JWT bcrypt
Notifications
Twilio Nodemailer
Uploads
Multer
Tooling
Morgan CORS dotenv