Skip to content

πŸ” ComoSapiens | Smart ordering system for fast food businesses. Features a multi-screen product selector and a streamlined checkout flow for high-volume orders. Built with JavaScript & Responsive Design. 🍟

License

Notifications You must be signed in to change notification settings

enekomb/ComoSapiens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ComoSapiens πŸ”

License: ISC Node.js Express React Prisma SQLite

ComoSapiens is a full‑stack burger ordering and management platform where customers build fully customized burgers while the system tracks products, prices, and sales in a relational database.

Live demo: Coming soon.


πŸ“˜ Project Description

ComoSapiens provides an end‑to‑end burger builder and order workflow.
Users compose orders by selecting bread, meat, toppings, and drinks, while the backend persists product catalogs and sales records using Prisma + SQLite and exposes a clean REST API to the React client.


✨ Key Features

  • Custom Burger Builder: Step‑by‑step flow to select bread, meats, toppings, and drinks.
  • Real-Time Price Calculation: Dynamic total calculation as selections change.
  • Persistent Orders: Orders are submitted to the API and stored as Sale records.
  • Product Catalog Management: Products are modeled as Product rows with type and price.
  • Responsive UI: React SPA with visual feedback and themed background.
  • Secure API: Helmet + CORS + environment-based configuration.

πŸ› οΈ Tech Stack

  • Frontend

    • React 18.2.0 with hooks
    • React Router 6 for multi-page flow (/bread, /meat, /toppings, /drinks, /sales)
    • CSS3 for layout and styling
  • Backend

    • Node.js 18+
    • Express 4.16
    • Helmet, CORS, morgan, cookie-parser, http-errors
  • Database

    • SQLite 3 as embedded database
    • Prisma ORM 5.22 for schema, migrations and typed access
    • Models:
      • Product (id, name, type, price, img)
      • Sale (id, name, bread, meat, toppings, drinks, createdAt)
  • Developer Tooling

    • concurrently to run API and client together from root
    • nodemon for hot-reloading the API
    • dotenv + .env.example for configuration

πŸš€ Getting Started

βœ… Prerequisites

  • Node.js 18+ (project engines allow 14+, but it is tested with modern versions)
  • npm

πŸ’Ύ Installation & Setup

  1. Clone the repository

    git clone https://github.com/enekomb/ComoSapiens.git
    cd ComoSapiens
  2. Install all dependencies (API + client)

    npm run install-all
    # or
    npm run install:all
  3. Configure environment variables (API)

    cd api
    cp .env.example .env

    Default configuration:

    DATABASE_URL="file:./dev.db"
    PORT=9000
    NODE_ENV=development
  4. Initialize and seed the database

    cd api
    npm run db:generate   # npx prisma generate
    npm run db:migrate    # npx prisma migrate dev
    npm run db:seed       # node prisma/seed.js
    cd ..
  5. Start the development environment

    From the project root:

    npm run start:dev

    This starts:

    • API on http://localhost:9000
    • React client on http://localhost:3000
  6. Open the application

    Navigate to http://localhost:3000 and walk through the burger builder flow.


🧩 Monorepo Scripts

Root package.json:

Command Description
npm run install-all Install dependencies for api and client
npm run install:all Alias for install-all
npm run dev Run API and client concurrently with concurrently
npm run start:api Start only the API server from root
npm run start:client Start only the React client from root
npm run start:dev Start API and client (using shell &)
npm run build:client Build the React client for production

API scripts (api/package.json)

cd api
npm start          # Start Express API with nodemon
npm run node       # Start API with plain node
npm run db:generate
npm run db:migrate
npm run db:seed

Client scripts (client/package.json)

cd client
npm start          # Start React dev server
npm run build      # Build for production
npm test           # Run tests

πŸ”­ Future Enhancements

  • Product management UI for adding/editing products from the frontend.
  • Order history dashboard with filters by date and product type.
  • Auth & roles to separate staff vs. admin capabilities.
  • Promotions & combos (meal deals, discounts, vouchers).
  • Exportable sales reports (CSV/Excel) for accounting workflows.
  • Docker-based local environment for one-command onboarding.

πŸ“ License

This project is licensed under the ISC License (2026).
See the LICENSE file in this repository for full details.


🌐 Other Projects & Portfolio

  • CoWorkoholics – Full‑stack coworking space management platform with real-time room booking and calendar views:
    https://github.com/enekomb/CoWorkoholics
  • ComicSants – Internal POS and inventory management system for hobby stores:
    https://github.com/enekomb/ComicSants
  • HeroSearcher – Superhero and villain search engine with favorites and stats:
    https://github.com/enekomb/HeroSearcher
  • GitHub Portfolio – Explore more projects and product case studies:
    https://github.com/enekomb

Made with ❀️ as part of the ComoSapiens product suite.

About

πŸ” ComoSapiens | Smart ordering system for fast food businesses. Features a multi-screen product selector and a streamlined checkout flow for high-volume orders. Built with JavaScript & Responsive Design. 🍟

Topics

Resources

License

Stars

Watchers

Forks