How cm5722254-beep/spacess-cambodia works
Spaces Cambodia is a Flutter social platform backed by a NestJS REST API. Users register or sign in, then use social posts, reels, live streams, chat, AI assistance, and marketplace checkout; media passes through storage, while domain services persist application state. The README documents a Flutter client, but its source files are absent from the supplied tree, so it is represented only as an external user-facing client. Backend service interactions are shown where source references support them; unsampled capability details are kept at subsystem level.
Main entry points: main.ts NestJS API · db.service.ts Application state · storage.service.ts Media storage · marketplace.service.ts Listings and checkout
Components 19
API entry
- NestJS API
apps/backend/src/main.ts - Health checks
apps/backend/src/modules/health/health.controller.ts
Accounts
- Account services
apps/backend/src/modules/auth/auth.service.ts - Auth endpoints
apps/backend/src/modules/auth/auth.controller.ts
Social experience
- Social endpoints
apps/backend/src/modules/feed/feed.controller.ts - Feed and messaging
apps/backend/src/modules/feed/feed.service.ts - Live streaming
apps/backend/src/modules/feed/live-stream.controller.ts
Commerce and AI
- Marketplace endpoints
apps/backend/src/modules/marketplace/marketplace.controller.ts - Listings and checkout
apps/backend/src/modules/marketplace/marketplace.service.ts - AI endpoint
apps/backend/src/modules/ai/ai.controller.ts - AI assistant
apps/backend/src/modules/ai/ai.service.ts
Persistence and media
- Media endpoints
apps/backend/src/modules/storage/storage.controller.ts - Media storage
apps/backend/src/modules/storage/storage.service.ts - Application state
apps/backend/src/modules/database/db.service.ts - Prisma service
apps/backend/src/modules/prisma/prisma.service.ts
Other components
- Flutter client
- Local uploads
- Cloudflare R2
- Bakong KHQR
Connections 23
- Flutter client → NestJS API: uses REST API
- NestJS API → Auth endpoints: registers modules
- NestJS API → Social endpoints: registers modules
- NestJS API → Marketplace endpoints: registers modules
- NestJS API → AI endpoint: registers modules
- NestJS API → Media endpoints: registers modules
- NestJS API → Health checks: registers modules
- NestJS API → Prisma service: registers module
- Auth endpoints → Account services: delegates to
apps/backend/src/modules/auth/auth.controller.ts - Account services → Application state: reads and writes
apps/backend/src/modules/auth/auth.service.ts - Social endpoints → Feed and messaging: delegates to
apps/backend/src/modules/feed/feed.controller.ts - Feed and messaging → Application state: reads and writes
apps/backend/src/modules/feed/feed.service.ts - Live streaming → Application state: updates streams
apps/backend/src/modules/feed/live-stream.controller.ts - Live streaming → Media storage: stores media
apps/backend/src/modules/feed/live-stream.controller.ts - Marketplace endpoints → Listings and checkout: delegates to
apps/backend/src/modules/marketplace/marketplace.controller.ts - Listings and checkout → Application state: reads and writes
apps/backend/src/modules/marketplace/marketplace.service.ts - Listings and checkout → Bakong KHQR: initiates KHQR
- AI endpoint → AI assistant: delegates to
apps/backend/src/modules/ai/ai.controller.ts - AI assistant → Application state: uses database
apps/backend/src/modules/ai/ai.service.ts - Health checks → Prisma service: checks service
apps/backend/src/modules/health/health.controller.ts - Media endpoints → Media storage: delegates to
apps/backend/src/modules/storage/storage.controller.ts - Media storage → Local uploads: writes fallback files
apps/backend/src/modules/storage/storage.service.ts - Media storage → Cloudflare R2: uploads and fetches
apps/backend/src/modules/storage/storage.service.ts