Skip to main content

Entorns d’execució

Aquest document descriu els entorns previstos per a LDP i com s’hi relacionen els diferents components (backend, frontend, app mòbil i docs).

Objectiu: tenir clar on corre què, amb quines URLs i quines bases de dades.


1. Entorn Local (dev)

Entorn utilitzat per desenvolupament diari.

  • Backend
    • URL: http://localhost:8080 (per defecte)
    • BD: PostgreSQL local (Docker o instal·lació directa)
  • Frontend (web admin/teacher)
    • URL: p. ex. http://localhost:5173 (Vite) o http://localhost:3000
  • Docs (Docusaurus)
    • URL: http://localhost:3000 (dins docs-web/)
  • App Android
    • Apunta a 10.0.2.2:8080 (emulador) o IP real de la màquina.

Configuracions específiques a:

  • dev/backend-setup
  • dev/dev-guide

2. Entorn de Test / Staging (futur)

Entorn intermedi per:

  • provar funcionalitats noves amb dades de prova,
  • validar migracions de BD,
  • fer demos.

Característiques:

  • Backend desplegat en un host/servei extern (p. ex. fly.io, Render, servidor propi…).
  • BD pròpia de test (no compartida amb prod).
  • Frontend desplegat en un domini de test (p. ex. test.ldp.example.com).
  • Dades:
    • dataset de proves,
    • imports controlats.

Aquest entorn hauria d’usar:

  • config spring.profiles.active=test o staging,
  • variables d’entorn diferenciades per secrets.

3. Entorn de Producció (futur)

Entorn utilitzat per ús real de professors, balladors i organitzadors.

Característiques:

  • Backend:
    • API REST accessible via HTTPS.
    • Limitació de rate, logs estructurats, monitorització.
  • BD:
    • PostgreSQL gestionat (cloud DB o similar).
    • Backups periòdics i estratègia de restauració.
  • Frontend:
    • domini principal (p. ex. app.ldp.example.com).
    • configurat amb CORS correctes cap al backend.
  • App Android:
    • configurada amb base URL de producció.
  • Docs:
    • opcionalment, desplegades també en un domini públic o privat (p. ex. docs.ldp.example.com).

4. Variables d’entorn clau

Algunes variables transversals (noms orientatius):

  • LDP_ENVlocal, test, prod.
  • Backend:
    • SPRING_PROFILES_ACTIVE
    • DB_URL, DB_USER, DB_PASSWORD
    • JWT_SECRET
  • Frontend:
    • VITE_API_BASE_URL (o equivalent)
  • Android:
    • BASE_API_URL a fitxer de configuració.

5. Taula resum (placeholder)

Es pot mantenir una taula actualitzada amb les URLs reals quan es desplegui:

Entorn    | Backend API              | Frontend Web              | Docs                     | Notes
----------|--------------------------|---------------------------|--------------------------|-------------------------
local | http://localhost:8080 | http://localhost:5173 | http://localhost:3000 | Desenvolupament
test | https://api-test... | https://app-test... | https://docs-test... | Dades de prova
prod | https://api... | https://app... | https://docs... | Ús real

A mesura que es decideixin solucions concretes de hosting, s’han d’actualitzar aquestes referències.


6. Documents relacionats

  • Repositoris: repos-envs/repos-overview
  • Setup backend: dev/backend-setup
  • Guia de desenvolupament: dev/dev-guide
  • Roadmap d’infra: roadmap/roadmap-global, ops/changelog