๐๏ธ Project Structure โ
KitchenAsty is organized as an npm workspaces monorepo.
๐ Directory Tree โ
kitchenasty/
โโโ packages/
โ โโโ server/ # Express API server
โ โ โโโ src/
โ โ โ โโโ controllers/ # Route handlers
โ โ โ โโโ middleware/ # Auth, upload, etc.
โ โ โ โโโ routes/ # Express router definitions
โ โ โ โโโ lib/ # Utilities (events, passport, openapi)
โ โ โ โโโ __tests__/ # Unit and integration tests
โ โ โ โโโ app.ts # Express app setup
โ โ โโโ Dockerfile
โ โ โโโ package.json
โ โ
โ โโโ admin/ # React admin dashboard
โ โ โโโ src/
โ โ โ โโโ components/ # Reusable UI components
โ โ โ โโโ pages/ # Page components (routes)
โ โ โ โโโ hooks/ # Custom React hooks
โ โ โ โโโ lib/ # API client, utilities
โ โ โ โโโ App.tsx # Root component with routing
โ โ โโโ Dockerfile
โ โ โโโ nginx.conf
โ โ โโโ package.json
โ โ
โ โโโ storefront/ # React customer-facing app
โ โ โโโ src/
โ โ โ โโโ components/ # Reusable UI components
โ โ โ โโโ pages/ # Page components
โ โ โ โโโ hooks/ # Custom React hooks
โ โ โ โโโ i18n/ # Internationalization config + locales
โ โ โ โโโ lib/ # API client, cart state
โ โ โ โโโ App.tsx # Root component
โ โ โโโ Dockerfile
โ โ โโโ nginx.conf
โ โ โโโ package.json
โ โ
โ โโโ shared/ # Shared types and utilities
โ โ โโโ src/
โ โ โ โโโ types/ # TypeScript interfaces
โ โ โ โโโ index.ts # Public API
โ โ โโโ package.json
โ โ
โ โโโ docs/ # This documentation site (VitePress)
โ
โโโ prisma/
โ โโโ schema.prisma # Database schema
โ โโโ seed.ts # Database seed script
โ
โโโ e2e/ # Playwright E2E tests
โ
โโโ .github/
โ โโโ workflows/
โ โโโ ci.yml # GitHub Actions CI pipeline
โ
โโโ docker-compose.yml # Full-stack Docker setup
โโโ package.json # Root workspace config
โโโ tsconfig.json # Base TypeScript config๐ฆ Package Responsibilities โ
| Package | Purpose | Port |
|---|---|---|
packages/server | REST API, WebSocket server, business logic | 3000 |
packages/admin | Staff dashboard for managing the restaurant | 5173 |
packages/storefront | Customer-facing ordering and reservation app | 5174 |
packages/shared | TypeScript types shared between packages | โ |
packages/docs | Developer documentation (VitePress) | 5175 |
๐ง Key Configuration Files โ
| File | Purpose |
|---|---|
package.json | Workspace definitions and root scripts |
tsconfig.json | Base TypeScript compiler options |
docker-compose.yml | Multi-container Docker setup |
prisma/schema.prisma | Database schema (Prisma) |
.github/workflows/ci.yml | CI pipeline (lint, test, build) |
playwright.config.ts | E2E test configuration |