🧱 Architecture Overview

Monorepo Structure

This project uses Turborepo to manage multiple applications and shared packages.
/
├── apps/
│   ├── client/         # Next.js Frontend
│   ├── api/            # NestJS Backend
│   ├── admin/          # Admin Panel
│   ├── mobile/         # React Native App
|   └── desktop/        # Tauri App
└── packages/
    ├── ui/             # Shared UI components
    ├── config/         # Shared configuration (env/schema)
    ├── contracts/      # Shared API contracts (Zod + OpenAPI)
    └── types/          # Shared TypeScript types

Design Philosophy

  • Feature-Sliced Design (FSD) on the frontend
  • Modular Clean Architecture on the backend (NestJS)
  • Reusable contracts between backend and frontend (Zod + Swagger/OpenAPI)
  • Fully self-hosted for cost efficiency