-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Bienvenido a la documentación oficial de Finanplanen.
Esta Wiki reúne toda la documentación técnica y funcional del proyecto, proporcionando una referencia central para desarrolladores, colaboradores y administradores del sistema. Aquí encontrarás información sobre la arquitectura, instalación, módulos, infraestructura, convenciones de desarrollo y funcionamiento interno de la aplicación.
Objetivo: facilitar el mantenimiento, la evolución y la incorporación de nuevos desarrolladores mediante una documentación clara, organizada y actualizada.
Finanplanen es una aplicación web desarrollada con Django para la gestión de finanzas personales. El sistema permite administrar cuentas financieras, registrar ingresos y gastos, controlar presupuestos, definir metas de ahorro y automatizar procesos mediante tareas programadas.
Su arquitectura modular y su soporte para múltiples inquilinos (multi-tenant) permiten que una única instancia del sistema pueda ser utilizada por diferentes usuarios o grupos de forma aislada y segura.
- Gestión de múltiples cuentas financieras.
- Registro de ingresos y gastos.
- Presupuestos mensuales por categoría.
- Metas de ahorro con seguimiento del progreso.
- Transferencias entre cuentas.
- Transferencias recurrentes automatizadas.
- Dashboard con indicadores financieros.
- Sistema de autenticación integrado.
- Arquitectura modular basada en aplicaciones Django.
- Procesamiento de tareas en segundo plano mediante Celery y Redis.
| Capa | Tecnología |
|---|---|
| Backend | Django 4.2 |
| Base de datos | MySQL |
| Frontend | HTML5 · CSS3 · JavaScript |
| Procesamiento asíncrono | Celery |
| Broker de mensajes | Redis |
| Gestión de imágenes | Pillow |
El proyecto está organizado siguiendo una arquitectura modular. Cada funcionalidad principal se implementa como una aplicación independiente dentro del directorio apps, lo que favorece la separación de responsabilidades y facilita el mantenimiento.
finanplanen/
│
├── apps/
├── config/
├── templates/
├── static/
├── media/
└── manage.py
Cada aplicación encapsula su propia lógica de negocio, modelos, vistas, formularios, URLs y plantillas cuando corresponde.
Finanplanen se desarrolla siguiendo los siguientes principios:
- Separación clara de responsabilidades.
- Código reutilizable y modular.
- Escalabilidad para nuevas funcionalidades.
- Documentación como parte del desarrollo.
- Convenciones consistentes en todo el proyecto.
- Automatización de procesos repetitivos.
- Mantenimiento sencillo y predecible.
La Wiki está organizada en las siguientes secciones:
- Instalación
- Variables de entorno
- Estructura del proyecto
- Arquitectura general
- Base de datos
- Multi-inquilino
- Flujo de solicitudes
- Dashboard
- Cuentas
- Transacciones
- Categorías
- Presupuestos
- Ahorros
- Transferencias
- Usuarios
- Celery
- Redis
- Configuración de desarrollo
- Configuración de producción
- Convenciones de código
- Guía de contribución
- API interna
- Roadmap
flowchart LR
A[Usuario] --> B[Navegador]
B --> C[Django]
C --> D[Aplicaciones]
D --> E[(MySQL)]
D --> F[Celery]
F --> G[Redis]
F --> E
Si es la primera vez que trabajas con el proyecto, se recomienda seguir el siguiente orden:
- Instalación
- Estructura del proyecto
- Arquitectura
- Variables de entorno
- Base de datos
- Multi-inquilino
- Módulos
- Celery y tareas programadas
- Convenciones de desarrollo
Toda la documentación mantiene una estructura uniforme para facilitar su lectura:
- Objetivo de la funcionalidad.
- Arquitectura.
- Flujo interno.
- Ejemplos.
- Buenas prácticas.
- Consideraciones técnicas.
- Referencias relacionadas.
Actualmente Finanplanen se encuentra en desarrollo activo. La arquitectura y la documentación evolucionan de forma conjunta para garantizar que cada nueva funcionalidad quede correctamente documentada antes de considerarse finalizada.
Última actualización: Julio de 2026.