Skip to content

๐Ÿ—๏ธ 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 โ€‹

PackagePurposePort
packages/serverREST API, WebSocket server, business logic3000
packages/adminStaff dashboard for managing the restaurant5173
packages/storefrontCustomer-facing ordering and reservation app5174
packages/sharedTypeScript types shared between packagesโ€”
packages/docsDeveloper documentation (VitePress)5175

๐Ÿ”ง Key Configuration Files โ€‹

FilePurpose
package.jsonWorkspace definitions and root scripts
tsconfig.jsonBase TypeScript compiler options
docker-compose.ymlMulti-container Docker setup
prisma/schema.prismaDatabase schema (Prisma)
.github/workflows/ci.ymlCI pipeline (lint, test, build)
playwright.config.tsE2E test configuration