Local SQLite Database
Component Detail
Data Layer
high complexity
mobile
0
Dependencies
2
Dependents
15
Entities
0
Integrations
Description
On-device SQLite database managed via a Flutter plugin (sqflite or drift) that stores a subset of the user's operational data locally. It mirrors the server-side data structures needed for core operations such as activity logging, contact lookup, and note creation, enabling full functionality without network access.
local-sqlite-database
Responsibilities
- Store local copies of contacts, activity types, organization settings, and user data
- Provide CRUD operations for offline-created activities, notes, and events
- Manage database schema migrations on app updates
- Handle data seeding from server responses at login
- Support indexed queries for fast local lookups
Interfaces
initialize()
migrate(fromVersion, toVersion)
insertOrUpdate<T>(table, entity)
query<T>(table, filter)
delete(table, id)
bulkInsert<T>(table, entities)
getLastModified(table)
seedFromServer(serverData)
clearAll()
getTableRowCount(table)
rawQuery(sql, params)
transaction(operations)
Relationships
Related Data Entities (15)
Data entities managed by this component
Activity
26 fields
core
Contact
22 fields
core
Expense
23 fields
core
Note
16 fields
core
Organization Setting
21 fields
configuration
Activities
24 fields
core
Contacts
24 fields
core
Event Registrations
14 fields
core
Events
27 fields
core
Expenses
31 fields
core
External Links
14 fields
configuration
FAQ Items
14 fields
configuration
Notes
11 fields
core
Organization Settings
27 fields
configuration
Organizations
25 fields
core