JS - React & Express - Monorepo
Objectifs
- Découvrir des architectures logicielles
- Travailler sur un projet fullstack
Pré-requis
- 1
Avoir envie de lire du JS avancé
javascripttry { const response = await fetch(`${baseUrl}/${endpoint}`); if (!response.ok) throw new Error(`HTTP Error: ${response.status}`); return await response.json(); } catch (error) { console.error('Fetch Error:', error.message); } - 2
Savoir te repérer sur une carte
Introduction
Tu as vu comment créer un projet "polyrepo" : un dépôt pour une application React autonome et un dépôt pour une application Express autonome. Cette fois, tu vas apprendre à piloter un projet "monorepo" : un seul dépôt qui contient les 2 applications et définit de manière formelle la relation entre les 2.
Sommaire
Le brief
Hello 👋,
Bonne nouvelle : nous avons un nouveau projet qui manque de main d'oeuvre ! Et cette fois, tu vas faire l'application toi-même 😛.
Rassure-toi, nous avons trouvé un framework sympa pour te servir de base. Nous avons prévu une série de supports pour t'accompagner dans la découverte de ce framework et aussi pour t'accompagner dans la construction de ton projet : le Wild Series (toute ressemblance avec le site Beta Series ne serait pas purement fortuite).
Bon courage et bonne semaine 🙂,
Les équipes front, back et data.
Monorepo
Tu vas utiliser un framework particulier : un Monorepo JS spécialement développé par la Wild Code School pour te donner un cadre de développement adapté à l'apprentissage. Une première introduction ici :
Wild Series
Nous parlons technique depuis le début, mais nous n'avons pas encore parlé du projet sur lequel tu dois travailler :
Démarrer
C'est parti ! Première étape : créer le projet.
Tracer ta route
Maintenant que tu as créé le projet, tu dois rentrer dans son architecture. Commence par mettre en place des routes :
Accéder aux données
Tes premières routes permettent de recevoir des requêtes côté serveur : pour aller plus loin, ton serveur doit communiquer avec une base de données. C'est ta prochaine étape :
Un projet "complet"
À ce stade, ton serveur permet de récupérer des listes de données. Une gestion complète d'une ressource implique de permettre des actions supplémentaires :
- Créer une ressource
- Mettre à jour une ressource
- Supprimer une ressource
C'est le moment d'apprendre le sens des acronymes CRUD et BREAD :
Un début de sécurité
Maintenant que tu travailles sur un "vrai" projet, tu dois commencer à aborder des questions de sécurité. Une première approche est de t'intéresser à la validation des données :
Challenge
Publie ton projet Wild Series sur ton compte GitHub, et partage le lien en guise de solution au challenge.
Critères de validation
- [ ] le projet est disponible sur GitHub
- [ ] les 2 applications "client" et "server" sont fonctionnelles
- [ ] les 2 applications communiquent entre elles
- [ ] le serveur implémente au moins un CRUD / BREAD
- [ ] le serveur implémente au moins un validateur