Skip to main content

Architecture Overview

Stack

LayerTechnology
FrontendNext.js, React, TailwindCSS, shadcn/ui
BackendHono (API), Zod (validation), OpenAPI
DatabaseMongoDB + Mongoose
MonorepoYarn Workspaces + Turborepo
TestingVitest
CI/CDVercel

General flow

┌─────────────┐     ┌─────────────┐     ┌──────────┐
│ Console │────▶│ API │────▶│ MongoDB │
│ (Next.js) │◀────│ (Hono) │◀────│ │
└─────────────┘ └─────────────┘ └──────────┘

┌─────┴─────┐
│ Worker │
│ Scheduler │
└───────────┘

Apps

  • app-*: Participant experience (ticket purchase, check-in)
  • bko-*: Internal backoffice (event management, reports)
  • hub-*: Organizer dashboard (event creation, sales)
  • landing: Public event landing pages
  • worker: Async processing (emails, webhooks)
  • scheduler: Scheduled cron jobs

Shared packages

Packages under packages/ are shared across apps. They all export through index.ts and follow the @nittio/<name> convention.