Files

54 lines
1.5 KiB
Markdown

# scouthub-attivita-be
Backend Node.js/TypeScript/Express/Prisma per la gestione di attivita scout —
sostituisce il precedente backend Java/Spring Boot.
## Prerequisiti
- Node.js 18+
- Un'istanza PostgreSQL raggiungibile (locale o remota)
## Variabili d'ambiente
Copiare `.env.example` in `.env` e valorizzare le variabili richieste
(`PORT`, `CORS_ORIGIN`, `DATABASE_URL`, `DATABASE_URL_TEST`). Vedere
`.env.example` per il formato atteso e i valori di default usati in sviluppo.
## Sviluppo locale
```bash
npm install
npx prisma migrate dev
npm run db:seed
npm run dev
```
Il server si avvia sulla porta definita da `PORT` (default 8080) e risponde
su `GET /health`.
## Test
```bash
npm test
```
Richiede `DATABASE_URL_TEST` configurato in `.env` e puntato a un database
PostgreSQL dedicato ai test, con le migration gia' applicate: la suite
esegue un `TRUNCATE` delle tabelle tra un test e l'altro, quindi va tenuto
separato dal database di sviluppo.
## Note
- L'autenticazione reale non e' ancora implementata: l'autore delle attivita'
e' ancora hardcoded a `"Movio"` nel router privato, e il middleware
`authPlaceholder` e' un pass-through.
- Porta e CORS sono gia' letti da variabili d'ambiente in previsione di un
futuro `docker-compose.yml` (non incluso in questa feature).
## Riferimento storico
La cartella `DDL/` contiene gli script SQL dello schema originale del
backend Java (MySQL), mantenuti come riferimento storico. Lo schema attuale
(PostgreSQL) e' definito in `prisma/schema.prisma` e gestito tramite Prisma
Migrate.