Getting started
Prerequisites
- Node.js 20.19 or newer (22 recommended)
- pnpm 10. The repo pins its own version, so any pnpm 10+ will switch automatically. With Corepack:
corepack enable pnpm - Docker, for local PostgreSQL and Redis
Run the API
git clone <pennyplan-api repository>
cd pennyplan-api
cp .env.example .env
docker compose up -d # PostgreSQL + Redis
pnpm install # also generates the Prisma client
pnpm dev # http://localhost:3000Check it is alive:
curl http://localhost:3000/v1/health # {"status":"ok"}
curl http://localhost:3000/v1/health/ready # also confirms the database is reachableInteractive API docs are served at http://localhost:3000/docs outside production.
Run the web app
Point the web app at your running API:
NEXT_PUBLIC_API_URL=http://localhost:3000Run these docs
cd pennyplan-docs
pnpm install
pnpm dev # http://localhost:3990Before you open a pull request
In the API repository:
pnpm lint && pnpm typecheck && pnpm test && pnpm buildAlso read the nearest CLAUDE.md file to the code you are changing. Modules marked STRICT have extra
rules: you must state any change to public interfaces, security behaviour or data handling in your pull
request description.
Last updated on