Skip to content

wh98yap-hub/Restaurant-Management-Suite

Repository files navigation

Restaurant Management Suite

A comprehensive web application for restaurant operations management, including user management, menu administration, staff scheduling, and business analytics.

Features

  • Multi-Level User Management: Basic, Staff, Manager, and Admin roles
  • Dynamic Menu Management: CRUD operations with image upload
  • Staff Scheduling System: Availability management and conflict detection
  • Analytics Dashboard: Business intelligence and reporting

Tech Stack

  • Frontend: React.js + Vite + Tailwind CSS
  • Backend: Node.js + Express + TypeScript
  • Database: SQLite
  • Authentication: JWT tokens
  • Containerization: Docker + Docker Compose

Fresh PC Setup Instructions

Prerequisites

Before starting, ensure you have the following installed:

  1. Docker Desktop

  2. Git (if not already installed)

  3. Port Availability

    • Ensure ports 3000 (frontend) and 5000 (backend) are not in use
    • Check with: netstat -an | findstr :3000 and netstat -an | findstr :5000
    • If ports are occupied, stop those services or modify docker-compose.yml

Step-by-Step Setup

  1. Clone the Repository
git clone https://github.com/wh98yap-hub/Restaurant-Management-Suite.git
cd Restaurant-Management-Suite
  1. Start the Application
# Build and start all services (first time setup)
docker-compose up --build

# For subsequent starts (faster)
docker-compose up
  1. Verify Startup (Wait 2-3 minutes for full initialization)

    • ✅ Backend logs show: "Server running on port 5000"
    • ✅ Frontend logs show: "Local: http://localhost:3000"
    • ✅ Database initialized with seed data
  2. Access the Application

Verification Steps

  1. Test Backend Connection
# Should return: {"message": "Restaurant API is running"}
curl http://localhost:5000/api/health
  1. Test Frontend Loading

  2. Test Database Connection

    • Login with any test user (see below)
    • Should successfully authenticate and redirect

Troubleshooting

If containers fail to start:

# Stop all services
docker-compose down

# Remove old containers and rebuild
docker-compose down --volumes
docker-compose up --build

If ports are occupied:

  • Stop other applications using ports 3000/5000
  • Or modify ports in docker-compose.yml

If database issues occur:

# Reset database (will lose data)
docker-compose down --volumes
docker-compose up --build

Performance Issues:

  • Ensure Docker Desktop has sufficient resources (4GB+ RAM recommended)
  • Close unnecessary applications during startup

Default Test Users

Project Structure

Restaurant-Management-Suite/
├── frontend/          # React + Vite application
├── backend/           # Express + TypeScript API
├── database/          # SQLite database files
└── docs/             # Documentation

Development

For local development without Docker, see setup-instructions.md.

License

This project is for educational purposes as part of a capstone project.

About

DSTP2 Capstone Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors