Project Structure
The Nine Line project is organized as a monorepo using Turborepo, which allows multiple applications and packages to coexist in a single repository.
This structure promotes code reuse, consistency, and efficient development workflows.
Below is an overview of the main directories and their purposes:
nine-line/
├── apps/
│ ├── api/ # Main backend API (Node.js, Express, Prisma)
│ ├── web/ # Frontend application (Next.js, React)
│ ├── backoffice/ # Frontend application (Next.js, React)
│ └── docs/ # Documentation site (Next.js or static docs)
├── packages/
│ ├── ui/ # Shared UI components (React, TypeScript)
│ ├── eslint-config/ # Shared ESLint configuration
│ └── tsconfig/ # Shared TypeScript configuration
├── docker-compose.yml # Orchestration for API, database, and Redis
├── package.json # Root dependencies and scripts
├── turbo.json # Turborepo configuration
└── README.md # Project overview and setup instructionsExample: Backend API Structure
api/
├── src/
│ ├── modules/
│ │ ├── users/
│ │ ├── appointments/
│ │ ├── spaces/
│ │ ├── ratings/
│ │ ├── auth/
│ │ └── rbac/
│ ├── core/ # Shared core logic (errors, types, etc.)
│ └── config/ # Environment and service configuration
├── prisma/ # Prisma schema and migrations
├── scripts/ # Setup and utility scripts
├── docs/ # API documentation (Markdown)
├── package.json # API-specific dependencies and scripts
└── Dockerfile # API Docker configurationLast updated