Skip to main content

Key Architectural Decisions

Monorepo Structure

The project uses a monorepo structure to:

  • Share code efficiently between packages
  • Ensure consistent tooling and dependencies
  • Enable atomic commits across multiple packages
  • Simplify the development workflow

Technology Stack

  • Frontend: React with Vite for fast development and optimized builds
  • Backend: Node.js with Express and Prisma ORM
  • Documentation: Docusaurus for comprehensive, searchable documentation
  • Testing: Vitest for fast, modern testing
  • Code Quality: ESLint, Prettier, and Husky for consistent code standards

Development Workflow

  1. All code changes go through pre-commit hooks
  2. GitHub Actions run tests and checks on every PR
  3. Shared types ensure frontend and backend stay in sync
  4. Documentation is treated as code and versioned with the project