30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# 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.
|
|
|
|
```sh
|
|
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.
|