Project Structure
Nittio is a monorepo managed with Yarn Workspaces and Turborepo.
Overview
nittio/
├── apps/
│ ├── app-api/ # Participant API
│ ├── app-console/ # Participant frontend
│ ├── bko-api/ # Backoffice API
│ ├── bko-console/ # Backoffice frontend
│ ├── hub-api/ # Organizer hub API
│ ├── hub-console/ # Organizer hub frontend
│ ├── landing/ # Public event landing pages
│ ├── worker/ # Async workers
│ ├── scheduler/ # Cron jobs
│ └── dev-docs/ # This documentation
├── packages/
│ ├── baas/ # Banking as a Service
│ ├── enum/ # Shared enums
│ ├── event/ # Event models
│ ├── mongo/ # MongoDB configuration
│ ├── pagbank/ # PagBank integration
│ ├── ui/ # Shared UI components
│ ├── utils/ # Shared utilities
│ └── typescript-config/ # Base TypeScript configs
├── package.json # Root workspace
└── turbo.json # Turborepo configuration
Naming conventions
| Type | Pattern | Example |
|---|---|---|
| App name | @nittio/<app-name> | @nittio/bko-api |
| Package name | @nittio/<package> | @nittio/utils |
| Handler | handle[Resource][Method] | handleUserGet |
| Route file | [resource]Routes | eventRoutes |
| Mapper | [resource]Mapper | eventMapper |
| Zod schema | [resource]Zod[Action] | eventZodCreate |