Saltar al contenido principal

Arquitectura

Vista general

  • Frontend: SvelteKit 5 + Tailwind CSS 4.1.7.
  • Backend: Node.js + Express.
    • Prisma ORM sobre PostgreSQL (gestionado en Render).
  • Integraciones y servicios:
    • Firebase (Authentication, Storage, Realtime Database para chat)
    • Axios (consumo de APIs externas)
    • RENAPER
    • SendGrid (emails transaccionales)
  • Testing: Vitest + Testing Library (unitarias e integración), Playwright (E2E), Supertest (HTTP).
  • Despliegue: Vercel (frontend), Render (backend y base de datos), Firebase (auth, almacenamiento y mensajería en tiempo real).

Decisión de diseño

  • La combinación SvelteKit + Node/Express en TypeScript garantiza un desarrollo full-stack tipado y coherente.
  • Prisma y PostgreSQL aportan portabilidad y rendimiento en consultas.
  • Firebase reduce complejidad operativa para autenticación, almacenamiento y chat mediante Realtime Database.
  • Render y Vercel simplifican el despliegue continuo con costes operativos bajos.
  • Axios permite integrar de forma controlada RENAPER/SendGrid desde el backend, manteniendo el control de seguridad y trazabilidad.

Leyenda

  • Cliente (Web): interfaz en SvelteKit + Tailwind.
  • API Express: backend en Node.js/Express.
  • PostgreSQL (Render): base de datos relacional gestionada; acceso mediante Prisma.
  • Firebase Authentication: login/registro/token management para clientes web.
  • Firebase Storage: almacenamiento de archivos como evidencias (imágenes/documentos).
  • Firebase Realtime Database (Chat): chat en tiempo real (suscripción desde el cliente).
  • RENAPER/SendGrid: integraciones vía Axios desde el backend (verificaciones y envío de emails).
  • Vercel/Render: plataformas de despliegue para frontend y backend/DB.