🧱 Arquitectura del sistema
La arquitectura de FixBoard está diseñada para ser modular, escalable y mantenible. Frontend Vue 3 + Vite y backend gestionado con Supabase.
🧩 Diagrama general
mermaid
graph TD
A[Frontend - Vue 3 + Vite] -->|REST API + Auth| B[Supabase]
B --> C[(PostgreSQL)]
B --> D[Auth & Policies (RLS)]
B --> E[Storage (Imágenes, documentos)]
B --> F[n8n / Webhooks externos]⚙️ Componentes principales
| Capa | Tecnología | Descripción |
|---|---|---|
| Frontend | Vue 3 + Vite + TailwindCSS | Interfaz SPA responsive, ligera y modular. |
| Backend / API | Supabase | PostgreSQL + API REST y autenticación integrada. |
| Seguridad | Row Level Security (RLS) | Aislamiento de datos por tenant mediante políticas SQL. |
| Automatización | n8n + Webhooks Supabase | Procesos automáticos (notificaciones, auditoría). |
| Despliegue | Cloudflare Pages | CDN global con builds automáticas. |
| CI/CD | GitLab + GitFlow | Control de versiones y despliegue continuo. |
| Documentación | Markdown + VitePress | Sitio estático versionado con el código. |
🧠 Flujo de datos
- Login en el frontend (Vue 3).
@supabase/supabase-jsobtiene un JWT contenant_idyrole.- El frontend consulta la API REST de Supabase.
- RLS aplica aislamiento por tenant.
- Triggers registran cambios (
log_repair_status_change). - n8n/Funciones envían notificaciones.
- Cloudflare Pages sirve el frontend con caché global.
🧱 Patrón de arquitectura
Modelo Serverless + Client-Driven: backend gestionado por Supabase, frontend gestiona la lógica de negocio con JWTs seguros, y datos aislados por RLS.
🔮 Componentes futuros
- Dashboard analítico (vistas SQL y métricas).
- Edge Functions con
service_role. - Auditoría avanzada por tenant y usuario.
