Jeremy's Portfolio
ProjectsAboutContact
Jeremy's Portfolio
Main Interface
Order Management
Delivery Tracking
Main Interface
Order Management
Delivery Tracking

JCA Pizza - Restaurant Delivery System

JCA Pizza is a complete restaurant delivery management system that supports three distinct user roles: customers, restaurant staff, and delivery drivers. Built with Node.js and MongoDB, the application handles the entire order lifecycle from customer browsing and ordering to kitchen management and delivery tracking. The system features customizable pizza ordering, real-time order status updates, driver assignment, and delivery confirmation with photo uploads. The architecture uses Express.js with Handlebars templating, Mongoose for database operations, and includes session management and file upload capabilities.

Node.jsExpressMongoDBFull-StackDelivery System
Key Features
  • Multi-role user system (Customer, Restaurant Staff, Driver)
  • Interactive menu browsing and pizza customization
  • Real-time order tracking with status updates
  • Kitchen order management and processing dashboard
  • Driver assignment and delivery task management
  • Delivery completion with photo confirmation
  • Order search and filtering capabilities
  • Order cancellation for undelivered items
  • Session-based user authentication
  • File upload functionality for delivery photos
  • Comprehensive order history and tracking
  • Responsive web interface design
Tech Stack

Frontend

HandlebarsCSS3JavaScript

Backend

Node.jsExpress.jsMongoose

Database

MongoDB

AWS Services

Express-SessionMulterExpress-Handlebars

Development Tools

GitnpmNodemon
Challenges
  • Implementing multi-role authentication and authorization system
  • Managing complex order state transitions and workflow
  • Creating intuitive interfaces for different user types
  • Handling file uploads for delivery confirmation photos
  • Designing efficient database schema for order tracking
  • Implementing real-time order status updates across user roles
  • Managing order cancellation logic and business rules
Key Learnings
  • Full-stack Node.js development with Express framework
  • MongoDB database design and Mongoose ODM usage
  • Multi-role user management and session handling
  • Restaurant industry workflow and order management processes
  • File upload handling and server-side validation
  • Handlebars templating engine and server-side rendering
  • RESTful API design for multi-user applications
  • Order lifecycle management and status tracking systems