← home

// Open Source Β· MIT License

PWA Firebase Vanilla Boilerplate

Un template pronto al deploy per costruire una Progressive Web App con Firebase, Netlify e JavaScript puro β€” zero framework, zero bundler, zero magie. Basato sull'architettura reale di PanelControl, costruita e usata in produzione dal 2024.

⬇ Clona su GitHub πŸ“„ Leggi il README
Vanilla JS Firebase RTDB Firestore Netlify Functions Service Worker PWA i18n IT/EN Zero dipendenze

Cosa include

βš™οΈ
Service Worker completo
Cache strategy, offline fallback, aggiornamenti gestiti. Funziona senza Workbox.
πŸ“‹
manifest.json configurato
Icone, shortcut, Apple meta tag, theme color. Installabile su Android e iOS.
πŸ”₯
Firebase RTDB + Firestore
Init modulare SDK v9, helper per lettura una tantum e ascolto real-time, gestione errori.
πŸš€
Netlify Functions pronte
Cartella netlify/functions/ con esempio proxy per evitare CORS su API esterne.
🌍
i18n bilingue IT/EN
Sistema lang.js con toggle flag. Attributi data-i18n su ogni elemento traducibile.
🎨
Design system minimalista
CSS Variables, dark theme, card 3D, animazioni reveal on scroll. Nessun Tailwind, nessun Bootstrap.
πŸ”’
Autenticazione base
Login con password hash PBKDF2 via Web Crypto API. Nessun Firebase Auth richiesto per casi semplici.
πŸ“Š
sitemap.xml + robots.txt
SEO foundation pronta. Schema.org, Open Graph, Twitter Card nei template di pagina.

Struttura del progetto

pwa-firebase-vanilla-boilerplate/ netlify/ functions/ proxy.js β€” proxy CORS per API esterne index.html β€” home page con canvas animato style.css β€” design system completo (CSS variables) main.js β€” canvas particle, nav, scroll lang.js β€” sistema i18n IT/EN sw.js β€” service worker con cache strategy manifest.json β€” PWA manifest configurato firebase-init.js β€” init Firebase SDK v9 (RTDB + Firestore) firebase-helpers.js β€” helper read/write/listen con error handling netlify.toml β€” config deploy + redirect HTTPS sitemap.xml β€” sitemap base robots.txt β€” regole per crawler 404.html β€” pagina errore personalizzata README.md β€” guida al setup (5 minuti)

PerchΓ© vanilla JS e non un framework?

I framework risolvono problemi di scala: componenti riusabili, state management complesso, team numerosi. Per una PWA personale o un tool interno con poche pagine, aggiungono complessitΓ  senza valore reale β€” build time, bundle size, dipendenze che si rompono ad ogni aggiornamento.

Questo boilerplate usa le API native del browser che esistono giΓ : fetch(), crypto.subtle, IntersectionObserver, serviceWorker. Tutto funziona senza npm install, senza build step, senza configurazioni. Cloni, sostituisci le credenziali Firebase, fai deploy su Netlify.

Il codice che vedi qui Γ¨ la stessa architettura che gira in produzione su PanelControl da oltre un anno, con un team di 15 persone che lo usa ogni giorno.

Quick start