Dans cet atelier, tu vas apprendre Ă faire communiquer un client React.js avec un serveur Express.js, spĂ©cifiquement autour dâune fonctionnalitĂ© clĂ© et tout Ă fait classique : la gestion des fichiers.
Cet atelier sera trÚs guidé / accompagné, de sorte que tu puisses te remettre à fond dans ton projet 3 et implémenter cette fonctionnalité au besoin.
Notre rĂ©fĂ©rentiel de dĂ©part pour cet exercice : permettre Ă une personne dâajouter une photo de profil. Autant partir de quelque chose de trĂšs ordinaire pour bien comprendre comment ça marche đ
Pour rester dans un environnement connu, crĂ©ons un projet Monorepo tout neuf, et entreprenons les lignes de commande dans lâordre suivant afin dâĂȘtre tranquille cĂŽtĂ© configuration :
npm create @this-is-to-learn/js-monorepo@latest file_upload
/*
Une fois l'installation terminée, rends-toi dans le répertoire nouvellement
créé
*/
cd ./file_upload
Exécute la commande npm install pour installer toutes les dépendances nécessaires au projet.
Dans le dossier server/, copie / colle le fichier .env.sample, et renomme la copie en .env. Fais la mĂȘme chose pour le dossier client/.
Mets à jour tes informations de connexion à ta base de données. Tu peux donner le nom que tu veux à ta base de données.
Exécute la commande npm run db:migrate pour exécuter le script se trouvant dans server/database/schema.sql.
Exécute la commande npm run dev à la racine du monorepo pour lancer le client et le server simultanément.
Pour finir avec la configuration, on va se rendre dans le fichier app.js situé dans le dossier server/src/. Tu vas décommenter le middleware suivant :
app.use(express.json());
Pour bien faire, nous allons gĂ©nĂ©rer une table user. Pour cela, rends-toi dans le fichier /server/database/schema.sql. Supprime tout ce quâil y a dedans, et Ă©crit une table user contenant les champs suivants :
assets/images/favicon.png.