Skip to main content

Diagrama de alto nivel

                        ┌──────────────────┐
                        │   Cloudflare     │
                        │   (CDN/DNS/      │
                        │    Access)       │
                        └────────┬─────────┘

              ┌──────────────────┼──────────────────┐
              │                  │                   │
     ┌────────▼───────┐  ┌──────▼───────┐  ┌───────▼────────┐
     │  Mobile App    │  │  Panel       │  │  Tools Apps    │
     │  (Expo)        │  │  (TBD)       │  │  (vivla-tools) │
     └────────┬───────┘  └──────┬───────┘  └───────┬────────┘
              │                  │                   │
              ▼                  ▼                   ▼
     ┌─────────────────┐              ┌─────────────────────┐
     │  API Principal  │              │  Tools API          │
     │  vivla-backend  │              │  vivla-tools/backend│
     │  (NestJS)       │              │  (NestJS)           │
     └────────┬────────┘              └──────────┬──────────┘
              │                                   │
              ▼                                   ▼
     ┌──────────────┐                  ┌──────────────┐
     │  PostgreSQL  │                  │  PostgreSQL  │
     │  (Railway)   │                  │  (Railway)   │
     └──────────────┘                  └──────────────┘

Stack técnico

CapaTecnologíaHosting
API PrincipalNestJSRailway
Tools APINestJSRailway
DB PrincipalPostgreSQLRailway
DB ToolsPostgreSQLRailway
MobileReact Native + ExpoApp Store / Google Play
Tools FrontendNext.js (monorepo)Vercel
DNS / CDN / AccessCloudflare-
DocsMintlifyMintlify Cloud

Repos

  • vivla-backend — API principal, sirve a mobile y panel
  • vivla-mobile — App React Native con Expo Router
  • vivla-tools — Monorepo: chat de soporte, community guidelines, guías de mantenimiento + su backend
  • docs — Documentación centralizada (este repo)

Conexiones clave

  • El chat de soporte en la app mobile se comunica con la Tools API (no con la API principal)
  • El panel consume la API principal
  • Las Tools apps (backoffice de tools) consumen la Tools API
  • El portal de community guidelines (clientes) consume la Tools API