CONCEPTS
Offline-first
How Decimal works without internet and syncs data
Overview
Decimal is designed as an offline-first application. This means you can continue working even when your internet connection is unreliable or unavailable. Data is stored locally on your device and synchronized when connectivity is restored.
How offline mode works
Decimal uses IndexedDB (a browser-based database) to store data locally. When you perform an action offline, the action is saved to IndexedDB immediately, a sync record is created in the sync queue, when connectivity is restored the sync engine processes the queue, and data is uploaded to the server in the order it was created.
What works offline
| Feature | Offline support |
|---|---|
| Take attendance | Yes — syncs when online |
| Enter grades | Yes — syncs when online |
| View student records | Yes — uses cached data |
| View timetable | Yes — uses cached data |
| Record payments | Yes — syncs when online |
| Generate report cards | No — requires server |
| Send emails | No — queued for when online |
The sync process
The sync engine runs in the background: automatically syncs whenever connectivity is detected, can be triggered manually via the sync icon, and the sync indicator shows pending items in the queue.
Conflict resolution
If the same data is modified on two devices while offline, the sync engine uses a "last write wins" strategy. The most recent change (by timestamp) takes precedence. In case of a conflict, the user is notified and can manually resolve it.