# Plan de Desarrollo — rm-PAGOs (Quiet Wealth) ## Stack | Capa | Tecnología | |------|-----------| | Frontend | HTML + Tailwind CSS (CDN local) + Vanilla JS | | Backend | PHP 8.2 (FastCGI) | | Base de datos | SQLite3 (PDO) | | Auth | Sesión PHP nativa | | Servidor local | Docker Compose: NGINX + PHP-FPM | --- ## Estado actual por pantalla ### ✅ login.html — Completa - Formulario propio con diseño Quiet Wealth (sin popup del browser) - Validación de credenciales contra `config.php` (gitignoreado) - Redirección automática si ya hay sesión activa ### ✅ index.html — Dashboard - Balance total dinámico desde SQLite - Gráfico donut de distribución de gastos por categoría (SVG puro) - Últimos 5 movimientos con ícono, descripción y monto - Navegación inferior funcional ### ✅ add.html — Nuevo movimiento - Selector Gasto / Ingreso - Numpad táctil + soporte teclado físico (desktop) - Categorías cargadas dinámicamente desde la API - Campo fecha (default: hoy) y notas opcionales - POST a la API con redirect al dashboard al guardar ### ✅ historial.html — Historial completo - Lista de todos los movimientos agrupados por mes - Botón eliminar con modal de confirmación - Toast de confirmación tras eliminar ### ✅ API (movimientos.php) - GET dashboard: balance + últimos 5 + donut + categorías - GET ?view=historial: todos los movimientos - POST: nuevo movimiento - DELETE: eliminar por ID ### ✅ Infraestructura Docker - NGINX + PHP-FPM en contenedores separados - Tailwind CDN descargado en build y servido localmente - Auth por sesión PHP (sin Basic Auth del browser) - Script `_app --status / --start / --stop` --- ## Pendientes / En progreso ### ✅ UI — Responsive desktop - [x] Sidebar de navegación fijo en pantallas ≥768px (con logout) - [x] Dashboard en 2 columnas en desktop (balance+movimientos | donut) - [x] add.html: formulario + numpad en 2 columnas en desktop - [x] historial.html: ancho extendido en desktop, header con botón Nuevo - [x] Soporte teclado físico en numpad (0-9, punto, Backspace, Enter) ### 🔶 UI — Polish - [ ] Fecha en formato legible en movimientos recientes del dashboard - [ ] Indicador de mes actual dinámico (hoy hardcodeado como "Octubre 2023") - [ ] El "+12.4% este mes" del balance card → calculado real - [ ] Estado vacío más visual en historial (primer uso) ### 🔶 Funcionalidades faltantes - [ ] Editar movimiento existente - [ ] Filtro por categoría / mes en historial - [ ] Resumen mensual (ingresos vs gastos del mes) ### ⏳ Fase futura — CLI - Interfaz de línea de comandos que replique las operaciones de la GUI - Comandos: `pagos add`, `pagos list`, `pagos delete `, `pagos balance` - Mismo SQLite como backend → datos compartidos con la web --- ## Notas de arquitectura - Credenciales en `pagos/api/config.php` (gitignoreado, ver `config.example.php`) - SQLite en `pagos/db/finanzas.sqlite` (gitignoreado) - Tailwind CDN se descarga en `docker build` y se copia al volumen en el entrypoint