Developer overview
PennyPlan v2 is built as three separate repositories. Each is built, deployed and owned on its own, and none imports code from another.
| Repository | What it is | Stack |
|---|---|---|
pennyplan-web | The installable web app (PWA) | Next.js, React, TypeScript |
pennyplan-api | The API, queue workers and database schema | NestJS, Prisma 7, PostgreSQL |
pennyplan-docs | This documentation | Nextra (Next.js) |
Start with Getting started, then read Architecture.
Ground rules that apply everywhere
- Non-custodial. PennyPlan never holds, moves, collects or lends money. A task that implies otherwise is stopped and raised, not built.
- Money is integer kobo. Never a float.
- The API contract is the boundary. The web app talks to the API over versioned HTTP (
/v1) and generates its client from the API’s OpenAPI spec. - Slow or costly work runs in queues, never inside a request.
- One repository at a time. If a change needs both the API and the web app, the API ships first.
Last updated on