Files
home-control/AGENTS.md
2026-06-14 15:03:29 -04:00

2.3 KiB

HogarControl

Flutter app for tracking home bills and recurring expenses. All data stored locally via SQLite — no internet required, no accounts.

Build & install

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