Fecha de última actualización: 2026-05-17
Rama de cierre: fix/admin-panel-final-polish
Demo en producción: https://quotematicweb.davlos.es/
API en producción: https://quotematic.davlos.es
El MVP React está completado y desplegado en producción. Todas las features previstas para el sprint principal están implementadas, conectadas a la API desplegada y verificadas con QA manual.
El frontend está publicado en https://quotematicweb.davlos.es/ y consume directamente la API real. El backend está configurado para aceptar el dominio del frontend en CORS_ALLOWED_ORIGINS con credentials: 'include', por lo que la sesión cookie funciona end-to-end en producción.
| Feature | Rama | Descripción |
|---|---|---|
| Bootstrap | feat/project-bootstrap |
Vite + React + TS + Router + ESLint. |
| Design System | feat/ui-design-system |
Cosmos visual: glassmorphism, variables CSS, dark/light. |
| Home | feat/home-random-quote |
Frase aleatoria real, spotlight, feature grid. |
| Explore | feat/explore-quotes |
Búsqueda, filtros, paginación, localStorage. |
| Auth | feat/auth-session |
Login, registro, sesión cookie, roles, rutas protegidas. |
| Favorites | feat/favorites |
Guardar/eliminar favoritos del usuario. |
| My Quotes | feat/my-private-quotes |
CRUD privado de frases. |
| Theme | feat/theme-toggle |
Toggle dark/light con persistencia. |
| Share | feat/share-quote |
Web Share API + fallback al portapapeles. |
| Authors | feat/authors-catalog |
Catálogo con búsqueda en tiempo real. |
| Author detail | feat/author-detail |
/authors/:authorId con tabla de frases. |
| Admin panel | feat/admin-dev-panel |
Estadísticas del catálogo en vivo y accesos rápidos. |
| CSV import | feat/admin-csv-import |
Importación masiva con parseo local, validación y reporte. |
| Share channels | feat/share-channels |
WhatsApp, Email, X, Facebook, Discord. |
| Explore pergamino | feat/explore-hero-quote |
Rediseño tipo pergamino + anti-repetición. |
| Explore deep link | feat/explore-scroll-quote-ui |
UI scroll-stable, autor clicable, ?quote=<id>, menú Enviar compacto. |
| Account dashboard | fix/account-page-functionality |
/account convertido en dashboard funcional con accesos rápidos. |
| UI polish final | fix/final-ui-polish |
ConfirmDialog, return-to en login, tabla autor responsive, CSV admin móvil, pool random /api/quotes/random?count=N, transiciones estables en Explore. |
| Production deploy | chore/production-deploy |
Frontend desplegado en https://quotematicweb.davlos.es/. Backend con CORS actualizado. |
| Admin panel polish | fix/admin-panel-final-polish |
"Próximas herramientas" renombrado a "Herramientas de administración" con pills de estado reales y acción directa al importador CSV. |
| Card | Estado | Acción |
|---|---|---|
| Panel admin | MVP activo | Dashboard accesible en /admin/dev-panel con estadísticas reales del catálogo y accesos rápidos. |
| Importación CSV | Disponible | Link "Abrir importador" hacia /admin/import. Flujo completo: parseo local, validación, vista previa, reporte. |
| Gestión global de frases | Backlog | Marcada como aria-disabled en el panel; no presente como ruta. Pendiente para versión posterior. |
| Ítem | Prioridad | Notas |
|---|---|---|
| Gestión global de frases (admin) | Baja | Listado/edición/borrado masivo desde el panel admin. |
Skeleton loading en AuthorDetail |
Baja | Hoy muestra mensaje plano; mejora visual menor. |
| Tests automáticos | Baja | Cubierto con QA manual; ver docs/guia-qa-final.md. |
| Onboarding visual / tour | Opcional | Tooltip de bienvenida para usuarios nuevos. |
| Documento | Foco |
|---|---|
docs/auditoria-final-quotematic-web.md |
Auditoría general previa al cierre. |
docs/auditoria-ui-final.md |
UI/UX y accesibilidad. |
docs/auditoria-random-explore.md |
Comportamiento random de Explore (causa raíz: endpoint paginado + crecimiento del catálogo; resuelto con /api/quotes/random?count=N). |
docs/guia-qa-final.md |
Guía de QA manual completa. |
npm run lint # 0 errores, 0 warnings.
npm run build # tsc -b + vite build sin errores.Cuando se cierra esta rama:
lintybuilden verde.- 1801 módulos transformados por Vite.
- Bundle JS ≈124 KB gz, CSS ≈10 KB gz.
| Dependencia | Versión declarada | Propósito |
|---|---|---|
react |
^19 | UI |
react-router |
^7 | Routing SPA |
lucide-react |
^1 | Iconos |
papaparse |
5 | Parseo CSV en cliente |
| API QuoteMatic | producción | Backend externo — https://quotematic.davlos.es |
Sin Redux, sin Tailwind, sin librerías de componentes externas, sin mocking de backend.
Documentadas en el README principal. Cuenta admin de demo:
demo-admin@quotematic.local
QuoteMaticDemo2026!
Esta cuenta se eliminará del backend tras la evaluación.
- Merge de
devamainuna vez validado el QA final post-deploy. - Limpieza opcional de ramas remotas no fusionadas (
feat/explore-random-api-poolquedó como referencia documental parafix/final-ui-polish). - Backlog de funcionalidades menores (ver tabla "Mejoras futuras") para una posible v2.