FamilyFinance es una aplicación web de gestión financiera diseñada específicamente para familias hispanohablantes que desean tomar el control de sus finanzas personales sin complicaciones técnicas innecesarias.
La herramienta surge de la necesidad de resolver uno de los problemas más comunes en los hogares: la falta de visibilidad y control sobre el dinero. Muchas familias no saben exactamente cuánto gastan, en qué lo gastan, ni cuánto deben en tarjetas y préstamos. FamilyFinance resuelve esto con una interfaz intuitiva, en español, que convierte las finanzas familiares en algo gestionable.
Las familias hispanohablantes enfrentan desafíos financieros únicos que FamilyFinance aborda directamente:
| Problema | Cómo lo Resuelve |
|---|---|
| Desconocimiento del gasto mensual | Registro automático de gastos e ingresos con categorías claras |
| Deudas ocultas en tarjetas de crédito | Seguimiento de saldos, intereses y proyecciones de pago |
| Facturas de servicios olvidadas | Sistema de recordatorios y seguimiento de pagos de servicios domésticos |
| Métodos Kakebo poco conocidos | Implementación del método japonés de gestión financiera familiar |
| Sin visibilidad del flujo de caja | Dashboard con resumen financiero mensual y proyecciones |
| Decisiones financieras reactivas | Análisis con IA que genera recomendaciones proactivas |
- Confusión sobre a dónde fue el dinero a final de mes
- Sorpresas con facturas de servicios que no se esperaban
- Acumulación silenciosa de deudas en tarjetas de crédito
- Falta de comunicación financiera entre pareja o familia
- Métodos de ahorro complicados que no se traducen al contexto latino
Panel principal que muestra:
- Resumen de ingresos vs. gastos del mes
- Próximos pagos pendientes
- Alertas de facturas próximas
- Indicadores de salud financiera
- Categorización automática (alimentación, transporte, entretenimiento, etc.)
- Filtrado por fecha, categoría y rango de monto
- Visualización mensual y histórica
Implementación del sistema japonés de cuatro preguntas:
- ¿Cuánto dinero recibí?
- ¿Cuánto gasté?
- ¿Cuánto ahorré?
- ¿Cómo puedo mejorar?
- Registro de préstamos y deudas
- Cálculo de intereses (simple y compuesto)
- Proyecciones de tiempo hasta liberación
- Comparación de estrategias de pago
- Simulador de escenarios "qué pasaría si"
- Seguimiento de múltiples tarjetas
- Registro de cargos y pagos
- Proyección de saldo y fecha de corte
- Alertas de proximidad al límite
- Gestión de servicios (luz, agua, internet, teléfono)
- Recordatorios automáticos
- Historial de pagos
- Cálculo de promedio de consumo
- Reporte financiero general
- Análisis Kakebo mensual
- Comparación de deudas
- Exportación a CSV
- Recomendaciones personalizadas: Consejos basados en tus patrones de gasto
- Insights: Descubrimiento de hábitos financieros
- Anomalías: Detección de gastos inusuales
- Pronóstico: Predicción de flujo de caja futuro
- Estrategia de deudas: Plan óptimo para pagar deudas
- Simulación: Modelado de escenarios financieros
| Recurso | Enlace |
|---|---|
| Aplicación | https://myfamilyfinance-dkb6bdd9cwhhc4av.centralus-01.azurewebsites.net |
| Usuario | (automático) |
| Contraseña | 1234 |
- Desplegada en Azure App Service (Free Tier - F1)
- Base de datos SQLite persistente
- Datos de ejemplo precargados
- Todas las funcionalidades activas
Nota: La demo puede hibernar después de 5 minutos de inactividad en el plan gratuito. Espere 10-20 segundos para que reactive.
┌─────────────────────────────────────────────────────────────┐
│ Frontend │
│ HTML5 · CSS3 (Tailwind) · JavaScript (Vanilla) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Backend │
│ Python 3.12 · FastAPI 0.109 · SQLAlchemy 2.0 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Database │
│ SQLite · SQLAlchemy ORM │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Deployment │
│ Azure App Service · GitHub Actions · FTP/ZipDeploy │
└─────────────────────────────────────────────────────────────┘
- FastAPI: Framework web asíncrono de alto rendimiento
- Uvicorn/Gunicorn: Servidor ASGI
- SQLAlchemy 2.0: ORM para gestión de base de datos
- Pydantic: Validación de datos
- Passlib + bcrypt: Hashing de contraseñas
- Python-jose: Manejo de tokens JWT
# Requisitos del sistema
- Python 3.11 o superior
- Git
- Navegador web moderno (Chrome, Firefox, Edge)# 1. Clonar el repositorio
git clone https://github.com/DiogenesPolanco/FamilyFinance.git
cd FamilyFinance
# 2. Crear entorno virtual (recomendado)
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
# 3. Instalar dependencias
pip install -r requirements.txt
# 4. Ejecutar la aplicación
python -m uvicorn main:app --host 0.0.0.0 --port 8000
# O usar el script preparado:
./run.sh- Abre tu navegador en
http://localhost:8000 - La aplicación creará automáticamente un usuario con contraseña
1234 - ¡Listo para usar!
./run.sh # Iniciar servidor de desarrollo
./e2e-tests.sh # Ejecutar pruebas end-to-endVe a tu repositorio → Settings → Secrets and variables → Actions y configura:
| Secret | Descripción | Ejemplo |
|---|---|---|
AZURE_CREDENTIALS |
JSON de Service Principal | {"clientId": "...", "clientSecret": "...", "subscriptionId": "...", "tenantId": "..."} |
AZURE_WEBAPP_NAME |
Nombre del Web App | MyFamilyFinance |
AZURE_RESOURCE_GROUP |
Grupo de recursos | MyRG |
FTP_HOST |
Host FTP de Azure | waws-prod-... |
FTP_USERNAME |
Usuario FTP | MyFamilyFinance\$MyFamilyUser |
FTP_PASSWORD |
Contraseña FTP | ***** |
El repositorio está configurado con GitHub Actions que despliega automáticamente en cada push a main:
- Ejecuta validaciones (tests de i18n)
- Sube archivos por FTP
- Despliega por ZipDeploy
- Configura el comando de inicio
# Verificar que la app responde
curl https://myfamilyfinance-dkb6bdd9cwhhc4av.centralus-01.azurewebsites.net/
# Verificar estado de salud
curl https://myfamilyfinance-dkb6bdd9cwhhc4av.centralus-01.azurewebsites.net/api/auth/statusInterfaz de acceso simple con contraseña por defecto
Panel principal con resumen financiero y navegación
- Fork del repositorio
- Crear branch (
git checkout -b feature/nueva-funcionalidad) - Commit de cambios (
git commit -am 'Agrega nueva funcionalidad') - Push al branch (
git push origin feature/nueva-funcionalidad) - Crear Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.
- Azure F1: La app hiberna después de 5 minutos de inactividad
- Tiempo de activación: 10-20 segundos para despertar
- Ancho de banda: 165 MB/día máximo
- Uso de CPU: 60 minutos/día de compute
Para producción, considera actualizar a un plan básico o estándar.
¿Encontraste un bug? ¿Tienes sugerencias?
- Abre un Issue
- O contacta directamente al equipo de desarrollo
FamilyFinance — Tu camino hacia la estabilidad financiera familiar
Hecho con ❤️ para las familias hispanohablantes


