Bỏ qua

Architecture

Tài liệu này mô tả kiến trúc triển khai (implementation view). Yêu cầu hệ thống và thiết kế chi tiết xem docs/requirements/06-SYSTEM-DESIGN.md.

System overview

  • Monorepo: NX workspace
  • Framework: NestJS
  • Style: microservices + API Gateway
  • Cross-cutting libs: libs/shared, libs/database, libs/messaging, libs/cache, libs/observability, libs/config

Services & responsibilities

Service Port Responsibility
api-gateway 3000 Entry point, auth, proxy routing, cross-cutting concerns
user-service 3001 Users + profiles
field-service 3002 Field catalog + time slots
booking-service 3003 Booking lifecycle
payment-service 3004 Payment lifecycle
notification-service 3005 Email/notification, async consumers

Repository layout (convention)

apps/<service>/
  src/
    config/        # env/config loader
    health/        # /health endpoint module
    <domain>/      # bounded-context module (controller/service/dto/entities)
libs/
  shared/          # DTOs, enums, constants, utils, exceptions
  database/        # TypeORM module/config, migrations/seeders
  messaging/       # Kafka + BullMQ
  cache/           # Redis helpers, distributed lock, rate limit helper
  observability/   # logging, tracing, metrics
  config/          # env-file, validation, shared config helpers

Communication

  • Sync: api-gateway proxy HTTP tới services nội bộ.
  • Async (planned): Kafka topics trong libs/shared/src/constants/kafka-topics.ts.

API conventions

Xem docs/API.md và requirements: docs/requirements/04-API-SPECIFICATIONS.md.