How aashutosh-k-das/sajilo_khata_mobile works
Sajilo Khata is an offline-first ledger and billing product for small businesses. Its documented workflow is to manage customers and stock, create VAT-aware invoices, record cash or credit payments, and review sales and balances; local persistence supports offline use, with sync when online. The sampled JavaScript implements a web prototype with localStorage persistence and simulated sync/SMS. The tree also contains the documented Flutter app, but its source was not sampled, so its internal wiring is not inferred here.
Main entry points: app.js Workflow controller · db.js Persistence and sync queue · main.dart Flutter application · index.html Web interface
Components 20
Web workflows
- Web interface
index.html - Workflow controller
app.js - Inventory
app.js - Customers
app.js - Billing and VAT
app.js - Credit ledger
app.js - Sales dashboard
app.js
Local data
- Browser localStorage
- Persistence and sync queue
db.js - Sync simulation
db.js
Flutter app
- Flutter application
sajilo_khata_mobile/lib/main.dart - Mobile authentication
sajilo_khata_mobile/lib/features/auth/login_screen.dart - Mobile dashboard
sajilo_khata_mobile/lib/features/dashboard/dashboard_screen.dart - Mobile database
sajilo_khata_mobile/lib/core/database/database_helper.dart
Supporting services
- Translations
locales.js - Reminder messaging
app.js - SMS helper
sparrow_sms.js
Other components
- Shopkeeper
- Sparrow SMS
- Firebase
Connections 24
- Shopkeeper → Web interface: uses
- Web interface → Workflow controller: dispatches actions
- Workflow controller → Inventory: handles
- Workflow controller → Customers: handles
- Workflow controller → Billing and VAT: handles
- Workflow controller → Credit ledger: handles
- Workflow controller → Sales dashboard: updates
- Workflow controller → Translations: loads translations
- Workflow controller → Persistence and sync queue: initializes and accesses
- Inventory → Persistence and sync queue: reads and writes
- Customers → Persistence and sync queue: reads and writes
- Billing and VAT → Persistence and sync queue: saves bills
- Credit ledger → Persistence and sync queue: records transactions
- Sales dashboard → Persistence and sync queue: reads summaries
- Persistence and sync queue → Browser localStorage: persists data
- Persistence and sync queue → Sync simulation: queues changes
- Workflow controller → Sync simulation: triggers sync
- Reminder messaging → SMS helper: generates and sends
- SMS helper → Sparrow SMS: simulates request
- Shopkeeper → Flutter application: uses
- Flutter application → Mobile authentication: entry flow
- Flutter application → Mobile dashboard: shows dashboard
- Flutter application → Mobile database: uses
- Mobile database → Firebase: syncs when online