How yhkimslv/gagyebu works
Gagyebu is a pair of offline-first finance trackers: Our Ledger handles shared and personal spending with settlement, while My Ledger handles an individual’s finances, payment balances, and imports from Our Ledger. Users record and review transactions in each app; data is stored locally and can optionally sync through their own Supabase project. The renderers also provide bilingual interfaces and installable web apps, with Electron providing desktop access. The graph follows documented capabilities, but unsampled renderer and sync internals limit the detail of some relationships.
Main entry points: renderer/app.js Personal finance · renderer/app.js Shared ledger · send.js Push sender · storage.js Local storage
Components 20
Our Ledger
- Shared ledger
couple/renderer/app.js - English Korean UI
couple/renderer/i18n.js
My Ledger
- Personal finance
personal/renderer/app.js - English Korean UI
personal/renderer/i18n.js - Shared ledger import
personal/renderer/link.js
Local And Sync
- Local storage
couple/renderer/storage.js - Device sync
couple/renderer/sync.js - Desktop host
couple/main.js - Desktop bridge
couple/preload.js - Installable web app
couple/renderer/sw.js - Local storage
personal/renderer/storage.js - Device sync
personal/renderer/sync.js - Desktop host
personal/main.js - Desktop bridge
personal/preload.js - Installable web app
personal/renderer/sw.js
Notifications
- Push sender
notify/send.js
Other components
- Ledger user
- Personal ledger user
- User Supabase project
- Web push service
Connections 21
- Ledger user → Shared ledger: records spending
README.md - Shared ledger → Local storage: saves locally
couple/renderer/app.js - Shared ledger → Device sync: schedules sync
couple/renderer/app.js - Device sync → User Supabase project: syncs optionally
README.md - Shared ledger → English Korean UI: uses translations
README.md - Shared ledger → Installable web app: runs as PWA
README.md - Shared ledger → Desktop host: runs on desktop
README.md - Local storage → Desktop bridge: uses IPC
couple/renderer/storage.js - Desktop bridge → Desktop host: invokes data handlers
couple/preload.js - Ledger user → Personal finance: records finances
README.md - Personal finance → Local storage: saves locally
personal/renderer/storage.js - Personal finance → Device sync: syncs optionally
README.md - Device sync → User Supabase project: syncs optionally
README.md - Personal finance → Shared ledger import: imports shared ledger
README.md - Personal finance → English Korean UI: uses translations
README.md - Personal finance → Installable web app: runs as PWA
README.md - Personal finance → Desktop host: runs on desktop
README.md - Local storage → Desktop bridge: uses IPC
personal/renderer/storage.js - Desktop bridge → Desktop host: invokes data handlers
personal/preload.js - Push sender → User Supabase project: reads ledger metadata
README.md - Push sender → Web push service: sends notifications
notify/send.js