Squelette d'application à destination d'étudiants de Bac+3 permettant de créer une application web avec React et Firebase Realtime Database.
Pour utiliser ce projet, il vous faudra :
- Avoir installé NodeJS sur votre machine
- Avoir installé le gestionnaire de paquets Yarn
- Un projet Firebase avec Realtime Database configuré
Avant toute chose, configurez le projet en ajoutant les identifiants de votre projet Firebase dans le fichier ./src/App.tsx
const firebaseConfig = {
apiKey: [Votre apiKey],
authDomain: [Votre authDomain],
databaseURL: [Votre databaseUrl],
projectId: [Votre projectId],
storageBucket: [Votre storageBucket],
messagingSenderId: [Votre messagingSenderId],
appId: [Votre appId],
}Dans le fichier ./firebase.json, remplacez "site": "hackathon" par "site": [NOM VOTRE PROJET FIREBASE].
Dans le fichier ./.firebaserc, remplacez "default": "hackathon" par "default": [NOM VOTRE PROJET FIREBASE].
Il vous faudra tout d'abord installer les dépendances :
yarnUne fois ceci fait, vous pourrez simplement lancer le projet avec la commande :
yarn startCe squelette d'application met à votre disposition deux fonctions.
Permet de lire une valeur dans la base de données.
function readRealtime(path: string, action: (data: any) => void)À chaque fois que la valeur dans la base de données sera modifiée, la fonction action passée en argument sera exécutée à nouveau.
Dans l'exemple ci-dessous, setData sera ré-exécutée à chaque modification de la valeur de foo dans la base de données
const [data, setData] = useState()
useEffect(() => {
readRealtime("foo", setData)
})Permet d'écrire une valeur dans la base de données.
type Data = boolean | string | number | { [x: string]: unknown }
function writeRealtime(path: string, data: Data | Data[])writeRealtime("foo", "bar").then(() => console.log("all good"))Pour déployer le projet sur Firebase Hosting, utilisez la commande
yarn deploy