Files
rm-PAGOs/docs/plan/00_PLAN.md
T
Ricardo MonlaandClaude Sonnet 4.6 7cb6107cb4 UI: rediseño responsive desktop + fix categorías + plan actualizado
- Sidebar fija en todas las pantallas (md+): logo, nav, logout
- index.html: grid 3/5 + 2/5 en desktop (movimientos | donut chart)
- add.html: 2 columnas desktop (form | monto+numpad), botones mobile/desktop unificados
- historial.html: max-w-3xl, header con botón Nuevo integrado
- dashboard.js: formato de moneda con toLocaleString, skeleton loading, mes dinámico
- add.js: lógica simplificada con doSave(), teclado ignora inputs de texto
- auth.php + login.php: cookie con httponly y SameSite=Lax
- docs/plan/00_PLAN.md: estado actualizado, CLI marcado como fase futura

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 16:41:59 -03:00

3.0 KiB

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

  • Sidebar de navegación fijo en pantallas ≥768px (con logout)
  • Dashboard en 2 columnas en desktop (balance+movimientos | donut)
  • add.html: formulario + numpad en 2 columnas en desktop
  • historial.html: ancho extendido en desktop, header con botón Nuevo
  • 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 <id>, 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