Double-entry bookkeeping made easy — your assets, visible. The simplicity of a single-entry expense tracker, the accuracy of double-entry accounting, and asset flow visible in one screen.
A personal project I actually operated in the first half of 2026 (Kotlin/Spring Boot + React, deployed on Cloud Run, with CI/CD, i18n, and the v0.4 hardening milestone completed). The hosted service was later replaced with a lighter-weight tool and retired; this repository is a portfolio snapshot of the architecture and implementation built along the way. CONTRIBUTING.md / INFRASTRUCTURE.md below describe the deployment structure and workflow as they were actually operated.
| Milestone | Status | Theme |
|---|---|---|
| v0.4 | ✅ Done — Foundation hardening | Sentry observability · Supabase migration · i18n (ko/en/ja) · SEO · tests |
| v0.5 — The Visibility release | 🚧 Stopped mid-development | Net worth dashboard · Asset allocation donut · Monthly cash flow · Category trends · Insight cards |
| v1.0 — AI-Powered Bookkeeping | 🔜 Not started | Natural language input · AI auto-categorization · Enhanced monthly insights |
| v2.0+ — Ecosystem | 🔮 Not started | Open banking · Family shared ledger · Accountant integration · KIS-trading integration |
v0.4–v0.5 development history is preserved in CHANGELOG.md.
jango/
├── jango-common/ # Shared utils, config, security
├── jango-core/ # Domain entities, repositories (JPA)
├── jango-api/ # User-facing REST API (Spring Boot)
├── jango-admin/ # Admin API (Spring Boot)
└── jango-web/ # User-facing frontend (React + Vite)
| Service | Composition | Cloud Run |
|---|---|---|
| jango-api-sandbox | jango-web + jango-api | User-facing (frontend + backend combined) |
| jango-admin-sandbox | jango-admin | Admin API |
Dockerfile.web: builds jango-web → served as static assets via nginx (SPA fallback)Dockerfile.backend: jango-api Spring Boot JAR (REST API)Dockerfile.admin: builds jango-admin only → Spring Boot JAR
- Java 21 (Temurin)
- Node.js 22
- Docker + Docker Compose
- PostgreSQL 16
# Start the DB
docker-compose up -d
# Run the backend
./gradlew :jango-api:bootRun
# Run the frontend (separate terminal)
cd jango-web && npm install && npm run dev./gradlew builddevelop: development branch → auto-deploys to Sandboxmain: stable branchfeature/*: feature development → PR → merge into developv*tags: production deploy
- INFRASTRUCTURE.md — infrastructure & deployment details
- CONTRIBUTING.md — development guide & code style
- jango-api/docs/openapi-admin.yaml — Admin API OpenAPI draft
- jango-api/docs/openapi-admin-webhook-ingestions.yaml — Admin webhook ingestions OpenAPI