How violet-3/account_book works
旺财 is a local-first attendance, payroll-estimation, savings, and work-record app delivered as a web app/PWA and wrapped for Android and iOS. The user records attendance and settings, reviews calendar and pay estimates, manages savings goals, and can keep an evidence timeline and export a ZIP. The browser-side app coordinates the domain modules and encrypted local storage; holiday schedules can be fetched on request. The README documents capabilities beyond the sampled excerpts, so unshown calculation and savings wiring is marked unverified rather than treated as a confirmed call. Both root js/ and packaged www/js/ copies exist.
Main entry points: app.js App coordinator · index.html Web interface · evidence.js Evidence timeline · holiday.js Holiday updates
Components 17
App experience
- Web interface
index.html - App coordinator
js/app.js
Work and money
- Attendance records
js/app.js - Pay estimates
js/calc.js - Rates and holidays
js/data.js - Holiday updates
js/holiday.js - Savings goals
js/savings.js
Local data and evidence
- Vault encryption
js/secure.js - Ledger and exports
js/db.js - Evidence timeline
js/evidence.js - Encrypted attachments
js/evidence.js
Offline and clients
- Offline cache
sw.js - Static file server
server.js - Android wrapper
android/app/src/main/java/com/violet3/dagongledger/MainActivity.java - iOS bridge
ios/App/App/SceneDelegate.swift
Other components
- Worker
- Holiday source
Connections 17
- Worker → Web interface: uses
README.md - Web interface → App coordinator: mounts
- App coordinator → Attendance records: records
js/app.js - App coordinator → Evidence timeline: creates events
js/app.js - App coordinator → Ledger and exports: writes vault
js/app.js - App coordinator → Vault encryption: opens vault
js/app.js - Evidence timeline → Vault encryption: encrypts attachments
js/evidence.js - Evidence timeline → Encrypted attachments: reads and writes
js/evidence.js - App coordinator → Pay estimates: calculates pay
- App coordinator → Savings goals: manages goals
- App coordinator → Holiday updates: updates schedules
js/app.js - Holiday updates → Holiday source: fetches year
- Worker → Static file server: requests app
README.md - Static file server → Web interface: serves files
server.js - Web interface → Offline cache: registers offline use
- Worker → Android wrapper: uses
README.md - Worker → iOS bridge: uses
README.md