Backend Overview

The backend lives in apps/backend/ and runs a Hono API server on Node.js. It uses Prisma for schema management, Kysely for typed queries, PostgreSQL for storage, and Redis (Valkey) for caching.

Folder structure

apps/backend/src/
  cache/         # Valkey (Redis) client and initialization
  config/        # Environment config, app constants
  db/            # Database client (Postgres + Kysely)
  features/      # Domain-organized business logic
  libs/          # Shared backend libraries and WebSocket setup
  middleware/     # Error handling, validation, auth, file uploads
  routes/        # HTTP route definitions (thin layer)
  sockets/       # WebSocket event definitions
  testing/       # Test utilities, mocks, setup
  utils/         # Shared helpers

Key patterns

Database access

Reads go in db/queries/, writes go in db/mutations/. See Prisma and Kysely.