Creare il progetto
QuizMS usa diversi servizi di Firebase:
- Firestore per il database;
- Storage per salvare i testi;
- Hosting per il sito web;
- Authentication per l'autenticazione degli utenti.
Il modo più semplice di configurarli è usando l'interfaccia web di Firebase.
Prerequisiti
Installa Firebase CLI e Google Cloud SDK:
- Arch Linux:
- macOS:sh
$ brew install firebase-cli google-cloud-sdk
- installazione manuale:
Creare un nuovo progetto su Firebase
- Vai sulla console firebase e clicca su "Aggiungi progetto".
- Una volta creato il progetto, nella home clicca sul pulsante con simbolo del codice per aggiungere un'app web.
- Usa il nickname "web" e clicca su "Registra l'app".
- Copia l'oggetto di configurazione di firebase e incollalo nel file
firebase-config.js
del progetto.
Configurare Firestore
- Accedi alla console di firebase;
- Vai su tutti i prodotti;
- Vai su Could Firestore;
- Clicca su "Crea database";
- Scegli la località
europe-west6
(Zurigo) e clicca su "Avanti"; - Seleziona "modalità di produzione" e clicca su "Crea";
Configurare Storage
- Accedi alla console di firebase;
- Vai su tutti i prodotti;
- Vai su Storage;
- Clicca su "Inizia";
- Seleziona
europe-west6
e clicca su "Continua"; - Seleziona "modalità di produzione" e clicca su "Crea";
Configurare Authentication
- Accedi alla console di firebase;
- Vai su tutti i prodotti;
- Vai su Authentication;
- Clicca su "Inizia";
- Seleziona tra i provider nativi "Email/password";
- Abilita "Email/password" e clicca su "Salva";
- Clicca su "Aggiungi un nuovo provider";
- Seleziona tra i provider nativi "Anonimo";
- Abilita "Anonimo" e clicca su "Salva";
- Vai nella tab "Impostazioni" e nella sezione "Azioni utente" disabilita "Protezione enumerazione email";
Configurare Hosting
- Accedi alla console di firebase;
- Vai su tutti i prodotti;
- Vai su Hosting;
- Clicca su "Inizia";
- Ignora tutti i passaggi e clicca su "Avanti" fino a quando non arrivi alla fine;
- Per configurare il dominio, vai su "Aggiungi dominio personalizzato" e segui le istruzioni, il dominio deve essere configurato almeno 24 ore prima dell'inizio della gara.
Seleziona il piano a pagamento
- Accedi alla console di firebase;
- In basso a sinistra accanto alla scritta "Spark", clicca su "Esegui l'upgrade";
- Scegli il piano a consumo Blaze e configura il pagamento.
Completa la configurazione
- Autenticati con Google Cloud:sh
$ gcloud auth application-default login
- Imposta il progetto di default:sh
$ firebase use --add
- Inizializza il progetto locale:sh
$ npx quizms firebase init
- Carica le regole di sicurezza e gli indici:sh
$ firebase deploy --only firestore,storage