Logo Lanfrica

athanasius-ataarem/daybook

Domaine:

socioeconomicdigital infrastructure

Type de record:

software
Créateur:
ath
Hôte:
Offline-first daily cashbook for single-shop traders in Ghana — cash & mobile money in/out, close-of-day reconciliation, WhatsApp daily summary. TypeScript PWA + Prisma/PostgreSQL. # Daybook A daily cashbook for single-shop traders in Ghana. Records cash and mobile money coming in and going out, and at closing time tells the owner whether the money in the drawer and the MoMo balance match what was sold. **Status: built through Step 8 on a dev machine; not yet deployed.** All packages typecheck, unit tests pass, and the offline loop, sync, close-of-day, WhatsApp summary, export and delete flows are implemented. Deployment to the VM (nginx + PM2 + TLS) and the physical-phone field checks remain. --- ## Read these first | File | What it is | |---|---| | `CLAUDE.md` | The contract. Hard rules, stack, doc index, working style. | | `docs/01_PRD.md` | What we're building, for whom, and what is out of scope. | | `docs/02_TRD.md` | How it's built. Stack, standards, budgets, security. | | `docs/03_UI_UX.md` | Tokens, screens, states, copy rules. | | `docs/03_wireframes.svg` | Layout reference for the four core screens. | | `docs/04_APP_FLOW.md` | Routes, auth, the entry loop, close of day, sync, errors. | | `docs/05_BACKEND_SCHEMA.md` | Prisma models, IndexedDB stores, the `/sync` contract. | | `docs/06_IMPLEMENTATION_PLAN.md` | Nine build steps with acceptance criteria. | | `KICKOFF.md` | The exact prompts to give Claude Code, in order. | | `FIELD_SETUP.md` | The in-person install script and validation plan. | | `DECISIONS.md` | Running log. Append, never rewrite. | | `ORIGIN_BRIEF.md` | **Superseded.** History only. Do not implement from it. | Precedence when documents disagree: `CLAUDE.md`, then `docs/01_PRD.md`, then the rest of `docs/`. `ORIGIN_BRIEF.md` is never authoritative. --- ## Prerequisites - Node 20 LTS - pnpm 9 - PostgreSQL 16, running locally - A browser with devtools (Chrome, for the service worker and throttling tools) - For field testing: one low-end Android phone --- ## Setup ```bash git clone daybook && cd daybook pnpm install cp .env.example .env openssl rand -base64 48 # paste into JWT_SECRET sudo -u postg …