Roadmap
Este documento es el plan maestro del proyecto: la visión, el alcance del MVP, las decisiones técnicas y las fases de evolución. Es el punto de referencia estratégico — el detalle operativo (tareas concretas) vive en el Backlog, que usa un modelo de temas abiertos.
Syncro es una plataforma de gestión ágil de proyectos para equipos pequeños, con tablero Kanban colaborativo, backlog, chat en tiempo real y notificaciones.
El proyecto es además un proyecto educativo: el éxito se mide por cuánto conocimiento se comparte, no solo por el código. Por eso el roadmap es una dirección, no una lista cerrada de tareas.
Alcance del MVP
Sección titulada «Alcance del MVP»| ✅ Dentro del MVP | ⏸️ Post-MVP |
|---|---|
| CRUD completo de boards | Comentarios en tareas (modelo existe en BD) |
| Calendario + time tracking (implementado) | Invitaciones por email (modelo existe en BD) |
| Labels y colores en tareas | Perfiles públicos mejorados |
| Chat en tiempo real (Pusher) | Verificación de email |
| Notificaciones internas | |
| Cimientos: GitHub Issues, CI/CD, tests | |
| Rate limiting (hardening de producción) |
Decisiones técnicas
Sección titulada «Decisiones técnicas»| Decisión | Elección | Motivo |
|---|---|---|
| Tiempo real | Pusher Channels | WebSockets gestionados; gratis para el MVP; no altera la arquitectura Prisma actual. Vercel (serverless) no mantiene conexiones WebSocket persistentes, por eso se usa un servicio externo |
| Gestión de tickets | GitHub Issues con labels | Cierra el ciclo ticket → rama → PR → issue |
| CI/CD | GitHub Actions (lint + typecheck bloqueantes) ✅ | Evita que el equipo rompa dev |
| Tests | Unit tests de la capa service (pura) ✅ | No requieren mockear la BD |
| Ramas huérfanas | Auditadas → limpiar las obsoletas | Evita código perdido y duplicado |
Estado: CI ✅ en producción desde agosto 2026 (
ci.yml). Unit tests ✅ iniciados (user-service + time-entry-service, Vitest).
Resultado de la auditoría de ramas:
feature/pending-tasksyrefactor/actions-clean-architecturetienen 0 commits propios (todo ya mergeado) → borrables. El trabajo de calendario defeat/mock-data-teamsfue integrado como time tracking (modeloTimeEntry,estimatedHoursy vistas de calendario) en la v0.5.0. Las demás ramas se revisan individualmente.
Fase 1 — Cimientos + Boards
Sección titulada «Fase 1 — Cimientos + Boards»✅ Mayormente completada (v0.5.0): CI verde con lint/typecheck, primeros unit tests, boards con CRUD completo y limpieza de ramas.
- Track A (cimientos): GitHub Issues configurados (T-02) · CI con lint/typecheck (T-04) ✅ · primeros unit tests (T-03 en curso) · limpieza (ramas muertas,
syncro/nul, docs desactualizadas) - Track B (feature): CRUD completo de boards (listar, renombrar, eliminar) ✅
- Salida:
devverde con CI + boards gestionables ✅
Fase 2 — Labels + Notificaciones
Sección titulada «Fase 2 — Labels + Notificaciones»- Labels: CRUD UI por workspace + selector en TaskCard (modelo ya existe)
- Notificaciones: modelo
Notification+ campana en TopBar + eventos de tarea - Salida: tareas con labels en el Kanban; notificaciones reales
Fase 3 — Chat en tiempo real
Sección titulada «Fase 3 — Chat en tiempo real»- Backend: modelos
Channel+Message, service/repository/actions con el patrón existente - Pusher: canal privado por workspace, presencia e indicador de escritura
- Frontend: página de chat funcional (reemplaza el placeholder)
- Salida: dos usuarios del mismo workspace se ven mensajes en <500 ms
Fase 4 — Robustez + Producción
Sección titulada «Fase 4 — Robustez + Producción»- Rate limiting en auth (requisito MVP para salir a producción) · verificación de email (post-MVP, se documenta como limitación conocida)
- Docs y changelog al día · test de humo · deploy a Vercel verificado
- Salida:
mainen producción con CI verde y datos demo
Reglas de trabajo
Sección titulada «Reglas de trabajo»- Nada de push directo a
dev— reforzar con ruleset (ver Git Flow) - 1 ticket = 1 rama = 1 PR — cada PR cierra su issue
- PR mínimo viable: pequeño, con descripción qué/cómo/probar
- CI verde obligatorio antes de mergear
- Docs por feature (T-01): cada PR actualiza su página de docs
Estado actual del proyecto
Sección titulada «Estado actual del proyecto»Producto
Sección titulada «Producto»| Área | Estado |
|---|---|
| Autenticación | ✅ NextAuth v5 (Google + credentials) + Zod |
| Workspaces | ✅ CRUD + roles (OWNER/ADMIN/MEMBER) |
| Kanban | ✅ DnD, columnas 3-7, prioridades, asignaciones, actividad, toolbar, ordenación y filtros |
| Boards | ✅ CRUD completo (listar, crear, renombrar, eliminar) desde la sidebar |
| Backlog | ✅ 40 tareas demo realistas, mover al tablero |
| Equipos | ✅ Miembros, roles editables y estadísticas por miembro |
| Calendario | ✅ Vista de equipo + “Mi tiempo”, imputación de horas y estimación |
| Labels | 🔴 Modelo en BD, sin UI |
| Chat / Notificaciones | 🔴 Placeholders |
Proceso e infraestructura
Sección titulada «Proceso e infraestructura»| Área | Estado |
|---|---|
| CI/CD | ✅ GitHub Actions (lint + typecheck bloqueantes en PRs) |
| Unit tests | ✅ Vitest + tests de user-service y time-entry-service (T-03 en curso) |
| GitHub Issues | 🟡 En uso — falta configurar templates y milestones (T-02) |
Historial de decisiones
Sección titulada «Historial de decisiones»- Q3 2026: se adopta el modelo de backlog por temas abiertos (sustituye a los sprints cerrados S0-S4) para permitir flexibilidad ante ideas y paradigmas nuevos. Se define el foco: Núcleo de gestión + Colaboración. Se confirma Pusher para el tiempo real.
- Q3 2026: se integra el calendario de
feat/mock-data-teamscomo time tracking (estimación en horas + imputación manual víaTimeEntry), en vez de un modeloEventaparte. El calendario pasa de post-MVP a MVP.