Skip to content

hey-Zayn/Tasty-Station-POS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tasty Station - Enterprise Restaurant POS System 🍽️

Vite React Node.js Express Socket.io Redis MongoDB Vitest License: MIT

Tasty Station is a high-performance, enterprise-grade Point of Sale (POS) and Kitchen Display System (KDS) designed for modern high-volume restaurants. Built for speed, resiliency, and accuracy, it leverages the MERN stack with advanced engineering patterns to handle the "Lunch Rush" without breaking a sweat.

Explore the Demo β€’ Technical Docs β€’ Report Bug


πŸ–ΌοΈ Preview

Tasty Station POS Dashboard

Premium SaaS Aesthetic with Dark Mode support and Real-time syncing.


⚑ Core Engineering Pillars

1. πŸ›‘οΈ Data Integrity & Atomic Financials

  • MongoDB Transactions: Every order involves multi-document writes (Orders, Client Stats, Inventory Deduplication). We use ACID Transactions to ensure that either all updates succeed or none doβ€”preventing financial drift.
  • Redis Caching Layer: Dashboard analytics and frequent menu reads are served via Redis memory stores, dropping retrieval times from ~150ms (DB) to <12ms.
  • Stateless Security: Authentication is handled via HttpOnly JWT Cookies, providing a robust defense against XSS and CSRF.

2. πŸ“‘ Real-Time Kitchen Display System (KDS)

  • Socket.io Integration: Orders are not polled via HTTP. They are pushed instantly to kitchen monitors via event-driven WebSockets.
  • Station Synchronization: When a chef marks an order as "Ready," the Cashier UI reflects the status change in milliseconds without a page refresh.

3. πŸ“± Progressive Web App (PWA) Capability

  • Offline Resilience: Designed to handle "Internet Drops." Critical app shells are cached via Service Workers, ensuring the POS remains navigable and operational on local hardware even during downtime.

4. πŸ§ͺ Robust Testing & Code Quality

  • Unit & Integration: Powered by Vitest and React Testing Library.
  • API Validation: Synthetic endpoint testing via Supertest with an isolated mongodb-memory-server fixture for 100% data safety.
  • Strict Standards: Enforced with ESLint (Flat Config) ensuring clean, predictable, and error-free code across the stack.

πŸ‘€ Persona-Based Experience

πŸ‘‘ Admin Portal

  • Advanced Analytics: Visualize sales trends, peak hours, and server performance.
  • Menu Management: Dynamic category creation, cloudinary-integrated image uploads, and inventory tracking.
  • User RBAC: Manage permissions for Cashiers, Waiters, and Kitchen staff.

πŸ“Ÿ Cashier Terminal

  • Rapid Checkout: Optimized for touch-screens and keyboard shortcuts.
  • Table Management: Real-time visibility of table occupancy and order status.
  • Client Profiles: Quick access to regular customers and loyalty stats.

πŸ‘¨β€πŸ³ Kitchen Display (KDS)

  • Live Ticket Feed: Orders appear instantly with preparation time trackers.
  • Status Toggles: One-click updates for "Preparing," "Ready," and "Delivered."

🎨 Visual Experience

Modern Menu Interface (Light & Dark Mode)

Light Mode Dark Mode
Menu Light Menu Dark

πŸ—ΊοΈ Dynamic Floor Plan & Table Management

Tailor your restaurant layout in real-time. Occupancy tracking and seat management at a glance.

Light Mode Dark Mode
Table Light Table Dark

πŸ“‚ Project Topography

POS/
β”œβ”€β”€ backend/                # Express API & Business Logic
β”‚   β”œβ”€β”€ config/             # Database & Cloudinary configs
β”‚   β”œβ”€β”€ controllers/        # Request handlers
β”‚   β”œβ”€β”€ models/             # Mongoose Schemas (ACID enabled)
β”‚   β”œβ”€β”€ routers/            # API Endpoints
β”‚   └── __tests__/          # Vitest & Supertest suite
β”œβ”€β”€ frontend/               # Vite + React Client
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # Atomic UI components
β”‚   β”‚   β”œβ”€β”€ pages/          # View-layer logic
β”‚   β”‚   β”œβ”€β”€ store/          # Zustand state management
β”‚   β”‚   └── axios/          # Configured Interceptors
β”œβ”€β”€ docs/                   # Engineering diagrams & reports
└── readme.md               # You are here

πŸ› οΈ Tech Stack

Layer Technologies
Frontend React 19, Vite, Zustand, Framer Motion, Tailwind CSS, Shadcn UI
Backend Node.js, Express, MongoDB, Socket.io, Redis
DevOps/Testing Vitest, Supertest, ESLint, Vercel
Cloud Cloudinary (Image Management)

πŸ—ΊοΈ System Architecture


Tasty Station System Architecture


πŸ“ View technical Mermaid flowchart
graph TD
    User((User)) -->|HTTPS| Frontend[React PWA]
    Frontend -->|REST API| Backend[Express Logic]
    Frontend <-->|WebSockets| KDS[Kitchen Display System]
    Backend -->|Atomic Transaction| MongoDB[(Database)]
    Backend <-->|Cache| Redis{Redis Store}
    Backend -->|Media| Cloudinary((Cloudinary))
Loading


πŸš€ Roadmap

  • AI Inventory Forecasting: Predicting stock depletion using Gemini AI.
  • Multi-Outlet Sync: Centralized dashboard for restaurant chains.
  • QR Code Ordering: Customer-facing self-service interface.
  • Mobile App (React Native): Native POS for handheld device speed.

βš™οΈ Quick Start

1. Initial Setup

git clone https://github.com/hey-Zayn/POS.git
cd POS

2. Environment Configuration

Create a .env in both /backend and /frontend using the provided keys in the technical documentation.

3. Launch Development Environments

# Terminal 1: Backend
cd backend && npm install && npm run dev

# Terminal 2: Frontend
cd frontend && npm install && npm run dev

🀝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.

βœ‰οΈ Contact

Zayn - GitHub

If you found this project helpful, please give it a ⭐ to show your support!

About

A comprehensive, high-performance Point of Sale (POS) system built using the MERN Stack (MongoDB, Express.js, React, Node.js). Designed for modern restaurants to streamline operations, manage orders, and track real-time analytics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages