42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# Memoria del Proyecto - Help Desk
|
|
|
|
## Fecha de inicio
|
|
16 de Mayo, 2026
|
|
|
|
## Stack tecnológico
|
|
- Node.js con Express 5
|
|
- EJS como motor de plantillas
|
|
- MariaDB/MySQL con mysql2
|
|
- express-session + bcryptjs para autenticación
|
|
- Bootstrap 5 + Font Awesome para UI
|
|
- morgan, connect-flash, express-fileupload
|
|
|
|
## Decisiones de arquitectura
|
|
|
|
1. **MySQL vs MongoDB**: El usuario eligió MySQL (MariaDB) como base de datos, consistente con su stack habitual en otros proyectos Node.
|
|
|
|
2. **express-session vs JWT**: Se optó por sesiones del lado del servidor con express-session en lugar de JWT para mantener la compatibilidad con connect-flash y facilitar mensajes flash. Aunque se instaló jsonwebtoken, no se está utilizando activamente.
|
|
|
|
3. **3 roles de usuario**: admin, agent, client. Cada uno con acceso a rutas específicas protegidas por middleware de autenticación.
|
|
|
|
4. **EJS con partials**: Se usan partials (header.ejs, footer.ejs, navbar.ejs, sidebar.ejs) en lugar de layouts para mantener la estructura simple sin dependencias extra.
|
|
|
|
5. **Bootstrap 5 desde CDN**: No se incluye Bootstrap local para mantener el proyecto liviano. Se carga desde CDN junto con Font Awesome.
|
|
|
|
## Base de Datos
|
|
- Servidor MariaDB en `192.168.10.149`
|
|
- Usuario: `helpdesk`@`192.168.10.101`
|
|
- Base de datos: `help_desk`
|
|
- 4 tablas: users, departments, tickets, ticket_respuestas
|
|
|
|
## Puerto del servidor
|
|
- El servidor corre en el puerto 3008
|
|
|
|
## Pendientes / Notas
|
|
- La contraseña del usuario helpdesk se cambió de `password` a `5oyN9zvq/2K8b1Fs`
|
|
- jsonwebtoken está instalado como dependencia pero no se usa activamente
|
|
- El frontend es funcional pero se puede mejorar
|
|
|
|
## Problemas conocidos
|
|
- node --watch no funciona correctamente en algunos entornos; usar nodemon como alternativa
|