|
|
||
|---|---|---|
| docs | ||
| prisma | ||
| scripts | ||
| src | ||
| test | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| README.md | ||
| jest.config.cjs | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| prisma.config.ts | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
README.md
Mani Candles backend
Phase 1A implements the service foundation. It does not yet expose commerce or identity APIs.
Setup
Use Node 24 LTS and pnpm 11.19.0. Copy .env.example to .env and set a PostgreSQL connection URL. Never commit credentials.
pnpm install --frozen-lockfile
pnpm db:generate
pnpm db:deploy
pnpm check
pnpm build
pnpm start
Development: run pnpm dev to compile on changes and pnpm start:watch in a second terminal after the first compilation. HTTP endpoints: GET /api/v1/health/live and GET /api/v1/health/ready. Readiness returns 503 when the database query fails. Health responses deliberately omit infrastructure details.
Layout
src/config: validated configuration, injected once.src/database: Prisma connection lifecycle and database probes.src/health: controller and application service.prisma/migrations: ordered, committed SQL migrations.test: configuration, lifecycle, and HTTP tests.docs: delivery roadmap and engineering workflow.
Production must use a managed secret store, TLS termination, a restricted database account, backups, and the deployment migration command. Do not expose this foundation as a completed commerce platform.