← Back to projects

Full-Stack · Web App

Food Ordering System

Completed

A full-stack food ordering platform with an admin dashboard, customer portal, Stripe payments, and real-time order tracking.

Food Ordering System cover image
Role
Team Project — Group 78 (PUSL3120, University of Plymouth)
Timeline
Placeholder — replace with the build window (e.g. "2025 · ~3 months").
Status
Completed

Overview

A complete food-ordering system split into an admin dashboard and a customer-facing app. It handles the full order lifecycle — browse menu, place order, pay, and track status in real time — backed by JWT auth with role-based access, Redis-cached APIs, Stripe payments, OTP/SMS verification, and Socket.io notifications. The whole stack (frontend, API, MongoDB, Redis) runs via Docker Compose. Built as a team under a feature-branch Git workflow.

Key features

  • Auth & roles

    JWT + refresh tokens, admin/customer role-based access.

  • Menu management

    Admin CRUD for menu items.

  • Order lifecycle

    Full order flow with live status tracking.

  • Payments

    Stripe checkout integration.

  • Real-time

    Socket.io order notifications.

  • Performance & security

    Redis caching, Helmet, CORS, rate limiting.

  • OTP/SMS

    Notify.lk verification + image uploads (UploadThing).

Tech stack

Frontend

  • React 18
  • TypeScript
  • Vite
  • Tailwind CSS
  • Radix/shadcn
  • Zod

Backend

  • Node.js
  • Express
  • JWT
  • Joi
  • Socket.io

Data

  • MongoDB
  • Redis

Payments

  • Stripe
  • UploadThing
  • Notify.lk

DevOps

  • Docker
  • Docker Compose
  • Jest
  • ESLint
  • Biome
  • Husky

Architecture

Multi-service architecture orchestrated with Docker Compose (frontend, API, MongoDB, Redis). Express REST API with Redis caching and Socket.io for real-time updates; secured with JWT, rate limiting, and request validation.

Highlights

  • Two portals (admin dashboard + customer app) in one platform
  • 4 containerized services via Docker Compose
  • Stripe payments + OTP/SMS auth
  • Team project under a feature-branch Git workflow

Explore it

← Back to projects