Documentación para desarrolladores
Producto y decisiones vinculantes
That's My Dash 0.8.1 es una página de inicio web personal para varios usuarios. Requiere PHP 8.2+, SQLite y HTTPS. MySQL, la línea de comandos y la importación manual no deben convertirse en requisitos. Las bases existentes se amplían de forma aditiva; config.php y todo storage se conservan.
La interfaz incluye ocho idiomas y el inglés es el idioma técnico de respaldo.
Arquitectura
- public es la raíz web prevista.
- src contiene solicitudes, base de datos, seguridad y llamadas HTTP.
- views contiene plantillas y no modifica datos.
- storage contiene SQLite, caché y ajustes de idioma y debe permanecer privado.
- public/index.php ejecuta acciones, carga el contexto y muestra la vista.
Reglas de código y datos
- Usar tipos estrictos y consultas PDO preparadas.
- Incluir el id del usuario en cambios de datos personales.
- Escapar el contenido y no permitir HTML del usuario.
- Toda escritura usa POST, CSRF, validación y control de propiedad.
- Las migraciones son aditivas, idempotentes y compatibles.
- La edición principal funciona sin JavaScript.
Seguridad, accesibilidad e idiomas
Las llamadas externas solo usan HTTPS, bloquean redes privadas y limitan redirecciones, tiempo y tamaño. Google Calendar es opcional. El objetivo es WCAG 2.2 AA: HTML semántico, teclado, foco visible, zoom, movimiento reducido y alto contraste. Los idiomas están en languages y los cambios locales en storage/languages. No se traducen :place ni {query}.
Control de versión
Ejecutar controles PHP, JavaScript, JSON y de idiomas. Probar instalación limpia y actualización, móvil y escritorio, temas claro y oscuro, roles, separación de usuarios, teclado, lector de pantalla y zoom. Actualizar VERSION, README, CHANGELOG, PROJECT_STATUS y la auditoría.