Sito personale di Thomas Bravin, ospitato su Netlify come sito statico
(nessuna build: netlify.toml pubblica direttamente la radice del repo).
La home è un portfolio; sotto convivono diversi progetti indipendenti, ognuno
nella propria cartella con il proprio README.
| Cartella | Cosa contiene | URL pubblico |
|---|---|---|
portfolio/ |
Home page + pannello /admin |
/, /admin |
iChat/ |
Chat con login Firebase | /iChat |
raspberry/ |
Proxy verso il pannello di controllo del Raspberry Pi (privato) + progetti pubblici ospitati (PiBoost, CoralSMP Bot) | /raspberry, /raspberry/steamboost, /raspberry/coralbot |
stream/ |
Portale streaming personale | /stream |
dashboard/ |
Pannello di gestione (Mikai) | /dashboard |
netlify/functions/ |
Netlify Functions condivise (progetti/impostazioni del portfolio) | /api/* |
I file fisici non stanno sempre nella cartella che ci si aspetterebbe dall'URL
pubblico: dove serve, _redirects fa da rewrite (es. / serve
portfolio/index.html, /reset-password.html serve
iChat/reset-password.html) senza cambiare l'URL visibile. Vedi
DECISIONS.md per il perché di ogni scelta di struttura.
Il sito non ha build, ma usa Netlify Functions (richiedono firebase-admin)
e redirect (_redirects, netlify.toml) che un server statico qualunque non
replica. Per testare tutto in locale, scollegato dal sito reale:
npm install # una tantum, installa firebase-admin
npx netlify-cli dev --offline -p 8888 # serve il sito su http://localhost:8888Le Netlify Functions che parlano con Firebase (/api/settings,
/api/projects) rispondono 500 in locale finché non crei un file .env con
le stesse variabili Firebase Admin usate su Netlify (vedi
portfolio/README.md) — è normale, non è un baco.
Push su main del repository collegato a Netlify: build automatica,
publish = "." (nessun comando di build). Variabili d'ambiente e dominio si
gestiscono da Netlify → Site configuration.
PROGRESS.md (stato di avanzamento, cronologico) e DECISIONS.md
(decisioni tecniche con le alternative scartate) tracciano il lavoro fatto
su questo repo — utili prima di modificare qualcosa che sembra già deciso.