1. Principios de IA
| Principio | Aplicación |
|---|
| Poca profundidad | Máx. 2 niveles bajo auth (/lecturas → detalle o nueva) |
| Roles en el mismo shell | Mismas rutas; acciones condicionales por role |
| Público vs app | Home marketing abierta; dominio lecturas solo JWT |
| Códigos como ancla | RE-… visible en lista y detalle |
| No marketplace | Sin catálogo, carrito ni matching |
2. Sitemap
/ Home marketing (público)
/login Login JWT (RESIDENT | ADVISOR)
/lecturas Lista + stats (auth)
/lecturas/nueva Crear lectura (RESIDENT; auth)
/lecturas/:id Detalle + acciones ADVISOR (auth)
/** → redirect /
3. Navegación
Pública
| Elemento | Destino | Notas |
|---|
| Logo RELE | / | Display Sora |
| Entrar | /login | Link muted |
| Abrir panel | /login | CTA sea |
| Soy residente / Soy asesor | /login | Mismo form; seed distinto |
| Elemento | Visible | Acción |
|---|
| Logo | Ambos | /lecturas |
| Nombre · rol | Ambos | Solo lectura |
| Nueva lectura | Solo RESIDENT | /lecturas/nueva |
| Salir | Ambos | logout + /login o / |
4. Inventario de pantallas
| ID | Pantalla | Ruta | Auth | Rol |
|---|
| S0 | Home | / | No | Público |
| S1 | Login | /login | No | — |
| S2 | Lecturas | /lecturas | Sí | Ambos |
| S3 | Nueva lectura | /lecturas/nueva | Sí | RESIDENT |
| S4 | Detalle | /lecturas/:id | Sí | Ambos (scope) |
5. Objetos de contenido
| Objeto | Campos clave en UI | Dónde |
|---|
| Reading | code, period, kwh, costEur, status, notes, advisorNote | Lista, detalle, form |
| Home | label, address, cups | Detalle, subtítulo lista |
| User | name, email, role | Header, login |
| Stats | total, open, byStatus, kwhTotal | Strip lista |
6. Taxonomía de estados
| Status | Significado UX | Color sugerido |
|---|
DRAFT | Borrador (reservado; no create v1) | muted |
SUBMITTED | Enviada, pendiente de revisión | navy soft |
REVIEWED | Revisada OK por asesor | sea |
FLAGGED | Requiere atención (tarifa / anomalía) | coral |
Open (ops): SUBMITTED + FLAGGED (contador “ABIERTAS” en stats).
7. Permisos por ruta (matriz)
| Ruta / acción | Anónimo | RESIDENT | ADVISOR |
|---|
| GET home | ✓ | ✓ | ✓ |
| POST login | ✓ | ✓ | ✓ |
| GET lecturas | ✗ | propias | todas |
| GET stats | ✗ | propias | globales |
| POST lectura | ✗ | ✓ | ✗ |
| GET detalle ajeno | ✗ | ✗ | ✓ |
| PATCH status | ✗ | ✗ | ✓ |
8. Etiquetado y copy de nav (es-ES)
| UI | Label |
|---|
| Producto | RELE |
| Login | Iniciar sesión / Entrar |
| Lista | Lecturas |
| Create | Nueva lectura / Registrar lectura |
| Logout | Salir |
| Back | ← Lecturas |
9. SEO / URLs
- URLs en español legible (
lecturas, nueva).
- IDs técnicos solo en detalle (
:id cuid).
- Sin query params de filtro en v1.
10. Extensiones futuras (no en IA v1)
| Módulo | Ruta hipotética | Nivel |
|---|
| Multi-vivienda | /viviendas | L2+ |
| Tendencias | /lecturas/tendencia | L2+ |
| Perfil | /cuenta | L2+ |
| Export CSV | acción en lista | L2+ |