How aminnateghi/yadli-react-native works
Yadli is an offline vehicle-maintenance app: users select a vehicle, record refueling, services, and expenses, manage reminders, and review dashboard statistics. Its domain repositories use on-device SQLite; reminder scheduling is a separate native-notification concern, while profile data also supplies language preferences. The README documents the product capabilities and offline model; several route and repository implementations are unsampled, so edges between those layers are omitted unless the source index or excerpts support them.
Main entry points: statistics-repository.ts Statistics engine · index.ts SQLite client · reminder-notifications.ts Reminder notifications · index.tsx Fuel log
Components 23
App experience
- Dashboard
src/app/(tabs)/(home)/index.tsx
Vehicle records
- Fuel log
src/app/(tabs)/fuel/index.tsx - Service log
src/app/(tabs)/services/index.tsx - Expense log
src/app/(tabs)/expenses/index.tsx - Vehicle manager
src/app/(tabs)/vehicles/index.tsx - Fuel records
src/repositories/fuel-repository.ts - Service records
src/repositories/service-repository.ts - Expense records
src/repositories/expense-repository.ts - Vehicle records
src/repositories/vehicle-repository.ts - Active vehicle
src/repositories/active-vehicle.ts
Reminders and reports
- Reminder screens
src/app/(tabs)/reminders/index.tsx - Reports screen
src/app/(tabs)/(home)/reports.tsx - Reminder records
src/repositories/reminder-repository.ts - Statistics engine
src/repositories/statistics/statistics-repository.ts - Statistics models
src/repositories/statistics/statistics-types.ts - Statistics helpers
src/repositories/statistics/statistics-utils.ts - Reminder notifications
src/utils/reminder-notifications.ts
Local data and platform
- Profile settings
src/repositories/profile-repository.ts - Translations
src/languages/translation.ts - SQLite client
src/db/index.ts - Data schema
src/db/schema.ts - On-device SQLite
Other components
- Vehicle owner
Connections 35
- Vehicle owner → Dashboard: views dashboard
- Vehicle owner → Fuel log: logs refueling
- Vehicle owner → Service log: logs services
- Vehicle owner → Expense log: logs expenses
- Vehicle owner → Vehicle manager: manages vehicles
- Vehicle owner → Reminder screens: manages reminders
- Vehicle owner → Reports screen: views reports
- Dashboard → Statistics engine: reads statistics
src/app/(tabs)/(home)/index.tsx - Dashboard → Profile settings: reads profile
src/app/(tabs)/(home)/index.tsx - Fuel log → Fuel records: uses fuel records
src/app/(tabs)/fuel/index.tsx - Fuel log → Statistics engine: reads statistics
src/app/(tabs)/fuel/index.tsx - Fuel log → Active vehicle: reads active vehicle
src/app/(tabs)/fuel/index.tsx - Statistics engine → Fuel records: reads fuel records
src/repositories/statistics/statistics-repository.ts - Statistics engine → Service records: reads service records
src/repositories/statistics/statistics-repository.ts - Statistics engine → Expense records: reads expense records
src/repositories/statistics/statistics-repository.ts - Statistics engine → Reminder records: reads reminders
src/repositories/statistics/statistics-repository.ts - Statistics engine → Statistics helpers: uses helpers
src/repositories/statistics/statistics-repository.ts - Statistics engine → Statistics models: uses models
src/repositories/statistics/statistics-repository.ts - Service records → Active vehicle: gets vehicle
src/repositories/service-repository.ts - Service records → Reminder notifications: refreshes schedules
src/repositories/service-repository.ts - Expense records → Reminder notifications: refreshes schedules
src/repositories/expense-repository.ts - Reminder records → Reminder notifications: refreshes schedules
src/repositories/reminder-repository.ts - Fuel records → Active vehicle: gets vehicle
src/repositories/fuel-repository.ts - Active vehicle → SQLite client: queries
src/repositories/active-vehicle.ts - Service records → SQLite client: reads and writes
src/repositories/service-repository.ts - Expense records → SQLite client: reads and writes
src/repositories/expense-repository.ts - Reminder records → SQLite client: reads and writes
src/repositories/reminder-repository.ts - Vehicle records → SQLite client: reads and writes
src/repositories/vehicle-repository.ts - Profile settings → SQLite client: reads and writes
src/repositories/profile-repository.ts - SQLite client → On-device SQLite: opens database
src/db/index.ts - SQLite client → Data schema: configures tables
src/db/index.ts - Reminder notifications → On-device SQLite: loads reminder data
src/utils/reminder-notifications.ts - Reminder notifications → Vehicle owner: sends alerts
- Profile settings → Translations: provides language
src/languages/useTranslation.ts - Vehicle owner → Dashboard: switches vehicle