FireFeed Docs

Setup locale

Come avviare FireFeed in sviluppo.

Prerequisiti

  • Node 20+
  • pnpm 10.17+
  • Docker Desktop (per Postgres + Redis locali)
  • Accesso al Keycloak remoto (le credenziali girano in .env.local)

Componenti

In dev:

  • Postgres + Redis: in Docker locale (docker compose up -d db redis)
  • Keycloak: remoto (non c'è bisogno di sollevarlo in locale)
  • web + worker: nativi via pnpm dev

Bootstrap

git clone <repo>
cd FireFeed
pnpm install
cp .env.example packages/web/.env.local
cp .env.example packages/worker/.env.local
# Edita le due .env.local con DATABASE_URL, REDIS_URL, AUTH_KEYCLOAK_*, …

docker compose up -d db redis
pnpm db:migrate            # applica schema control plane
pnpm db:seed                # opzionale, seed dati di esempio
pnpm dev                    # avvia web (3000) + worker (4000) in parallelo (Turbo)

Web disponibile su http://localhost:3000, worker API interna su http://localhost:4000/health.

Docs in locale

pnpm --filter @firefeed/docs dev

Servito su http://localhost:3001.

Generare lo spec OpenAPI

pnpm gen:openapi

Globs tutti i moduli sotto packages/{web,worker}/**/openapi/**/*.ts, popola il registry condiviso e scrive:

  • packages/docs/public/openapi/web.json
  • packages/docs/public/openapi/worker.json

Il comando è idempotente: girarlo due volte di seguito non produce diff. In CI, pnpm gen:openapi:check fallisce se il diff è non-zero.

Le route dell'app packages/oms sono documentate nel catalogo API OMS, ma non sono ancora incluse nel generatore. Non aggiungere manualmente endpoint OMS ai due JSON: la copertura formale richiederà un target oms e schemi Zod dedicati.

Test

pnpm test                   # tutti i package
pnpm -F @firefeed/worker test
pnpm -F @firefeed/web test

In questa pagina