Initial commit
This commit is contained in:
57
AGENTS.md
Normal file
57
AGENTS.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# HogarControl
|
||||
|
||||
Flutter app for tracking home bills and recurring expenses. All data stored locally via SQLite — no internet required, no accounts.
|
||||
|
||||
## Build & install
|
||||
|
||||
```bash
|
||||
export JAVA_HOME=/root/.sdkman/candidates/java/21.0.11-amzn
|
||||
flutter pub get
|
||||
flutter build apk --debug
|
||||
adb install build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- **JDK 21** via SDKMAN: `sdk use java 21.0.11-amzn`
|
||||
- **Android SDK** at `/opt/android-sdk` (set via `flutter config --android-sdk /opt/android-sdk`)
|
||||
- **Flutter 3.27.4** at `/opt/flutter/bin`
|
||||
- NDK `27.0.12077973` (set in `android/app/build.gradle`)
|
||||
|
||||
## Key config
|
||||
|
||||
- `android/app/build.gradle` — compileSdk 35, minSdk 26, targetSdk 35, coreLibraryDesugaringEnabled, AGP 8.7.3
|
||||
- `android/settings.gradle` — AGP + Kotlin plugin versions
|
||||
- Permissions: `INTERNET`, `POST_NOTIFICATIONS`, `RECEIVE_BOOT_COMPLETED`, `SCHEDULE_EXACT_ALARM`
|
||||
|
||||
## Stack
|
||||
|
||||
- **State**: Provider (`ChangeNotifierProvider` for `Servicio`, `Factura`, `Configuracion`)
|
||||
- **DB**: sqflite (single DB `hogarcontrol.db`, tables: `servicios`, `facturas`, `configuracion`)
|
||||
- **Notifications**: `flutter_local_notifications` with `zonedSchedule` + timezone
|
||||
- **Charts**: fl_chart (bar chart) + table_calendar
|
||||
- **UI**: Material 3, no router (manual Navigator pushes)
|
||||
|
||||
## Project layout
|
||||
|
||||
| Path | Purpose |
|
||||
|---|---|
|
||||
| `lib/main.dart` | App entry, MultiProvider setup, theme |
|
||||
| `lib/models/` | Data classes (`Servicio`, `Factura`, `Configuracion`) |
|
||||
| `lib/database/database_helper.dart` | Singleton DB with CRUD helpers |
|
||||
| `lib/providers/` | ChangeNotifier state classes |
|
||||
| `lib/screens/` | 9 screens (Splash → Dashboard → ...) |
|
||||
| `lib/services/notification_service.dart` | Local notification scheduling |
|
||||
| `lib/widgets/` | Reusable UI components |
|
||||
|
||||
## DB schema
|
||||
|
||||
- `servicios` — id, nombre, icono, color, dia_vencimiento, fecha_creacion
|
||||
- `facturas` — id, servicio_id (FK), monto, fecha_emision, fecha_vencimiento, estado, nota, fecha_pago
|
||||
- `configuracion` — id, dias_recordatorio (comma-separated), tema, moneda
|
||||
|
||||
## Warnings
|
||||
|
||||
- `dart analyze` may flag unused imports/variables in screens — safe to ignore for widget-tree watchers
|
||||
- Running as root causes flutter warnings but doesn't break builds
|
||||
- Flutter 3.27.4 has known warnings about x86 target deprecation
|
||||
Reference in New Issue
Block a user