Skip to content

Johnson1255/BudgetMaster

Repository files navigation

BudgetMaster Logo

BudgetMaster 💰

Licencia: MIT

BudgetMaster es una aplicación Android nativa diseñada para la gestión de finanzas personales de manera sencilla. Registra tus ingresos y gastos, categoriza transacciones y monitorea tu progreso hacia tus metas de ahorro.

✨ Características Principales

  • Seguimiento de Transacciones: Registra fácilmente ingresos y gastos.
  • Categorización: Asigna categorías a las transacciones para un mejor análisis.
  • Metas de Ahorro: Establece y sigue tus objetivos financieros.
  • Reportes: Visualiza patrones de gasto (Planeado).
  • Dashboard: Obtén una visión general rápida de tu estado financiero (Planeado).
  • Offline First: Los datos se almacenan localmente usando la persistencia de Room.

📸 Capturas de Pantalla

TODO:

Ejemplo: ![Captura 1](enlace_a_captura_1.png) ![Demo GIF](enlace_a_demo.gif)

🛠️ Tecnologías y Arquitectura

  • Lenguaje: Kotlin
  • UI Toolkit: Jetpack Compose
  • Arquitectura: MVVM (Model-View-ViewModel)
  • Persistencia de Datos: Room (Wrapper de SQLite)
  • Navegación: Navigation Compose
  • Gestión de Dependencias: Gradle con Catálogo de Versiones (libs.versions.toml)

🏗️ Estructura del Proyecto

El proyecto sigue el patrón de arquitectura MVVM para una clara separación de responsabilidades, mejorando la testeabilidad y mantenibilidad.

  • data: Contiene modelos de datos (Transaction, Category, Goal), DAOs, base de datos Room (AppDatabase), patrón repositorio (BudgetRepository), y convertidores de datos.
  • ui: Incluye pantallas de Jetpack Compose, ViewModels para cada pantalla, configuración de navegación (Screen.kt), componentes de UI (BottomNavigationBar), y definiciones de tema.
  • di / app: Configuración básica de provisión de dependencias dentro de BudgetMasterApplication.

🚀 Cómo Empezar

Prerrequisitos

  • Android Studio (Última versión estable recomendada)
  • Android SDK
  • Emulador o Dispositivo Android Físico

Instalación y Compilación

  1. Clona el repositorio:
    git clone https://github.com/Johnson1255/BudgetMaster.git 
    cd BudgetMaster
  2. Abre en Android Studio:
    • Inicia Android Studio.
    • Selecciona "Open an existing project".
    • Navega al directorio BudgetMaster clonado y ábrelo.
  3. Sincroniza Gradle:
    • Android Studio debería sincronizar automáticamente el proyecto con los archivos Gradle. Si no, ve a File > Sync Project with Gradle Files.
  4. Ejecuta la aplicación:
    • Selecciona un emulador o conecta un dispositivo físico.
    • Haz clic en el botón "Run" (icono de reproducción verde) en Android Studio.

🗺️ Hoja de Ruta (Roadmap)

Esto es lo que está planeado para el desarrollo futuro:

  • Implementar Pantallas Centrales:
    • Dashboard (Resúmenes, actividad reciente, progreso de metas)
    • Gestión de Metas (Listar, Crear, Editar, Eliminar)
    • Reportes (Gráficos de gastos por categoría)
    • Gestión de Categorías
    • Formulario Añadir/Editar Transacción
    • Formulario Añadir/Editar Meta
  • Conectar Navegación: Habilitar los flujos de navegación entre pantallas.
  • Refinamiento de UI: Reemplazar placeholders, implementar gráficos, pulir formularios y estilos.
  • Lógica de Negocio: Implementar operaciones CRUD en ViewModels, cálculos para reportes/dashboard.
  • Pruebas (Testing): Añadir pruebas unitarias y de instrumentación completas.
  • Opcional: Precargar categorías por defecto.
  • Autenticación de Usuarios (Login/Registro):
    • Permitir que múltiples usuarios utilicen la aplicación con datos separados.
    • Consideración: Actualmente, la aplicación funciona de manera offline, almacenando todos los datos localmente en el dispositivo.
    • Implementar pantallas de inicio de sesión y registro.
    • Modificar la estructura de la base de datos (Room) para asociar todos los datos (transacciones, categorías, metas) a un userId.
    • Asegurar el manejo adecuado de credenciales y datos sensibles.
    • Opcional (Fase 2): Explorar la posibilidad de sincronización en la nube para los datos de usuario.

🛡️ Seguridad

La seguridad de este proyecto es importante. Por favor, revisa nuestra Política de Seguridad para entender cómo reportar vulnerabilidades.

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Si deseas contribuir, por favor sigue estos pasos:

  1. Haz un Fork del Proyecto
  2. Crea tu Rama de Característica (git checkout -b feature/AmazingFeature)
  3. Confirma tus Cambios (git commit -m 'Add some AmazingFeature')
  4. Empuja a la Rama (git push origin feature/AmazingFeature)
  5. Abre una Pull Request

Por favor, asegúrate de que tu código se adhiera al estilo de codificación del proyecto e incluya pruebas donde sea aplicable.

📄 Licencia

Este proyecto está bajo la Licencia MIT - mira el archivo LICENSE para más detalles.

About

Aplicación de finanzas personales desarrollada en Kotlin para Android

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages