Add scouthub-attivit-be

This commit is contained in:
Lorenzo Sanesi
2026-07-23 19:34:00 +02:00
parent 904cd2ee9b
commit 2ee7d402b6
55 changed files with 9783 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
# 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.