- vscode
- git
- node
- mysql
-
Lancer un git clone dans un dossier local lié à ce repo GitHub.
-
Lancer la commande
npm install
depuis un terminal sur le dossier racine.la commande npm install peut s'aliaser en
npm i
ounpm add
. -
Lancer de nouveau la commande
npm install
depuis le dossier "/frontend" puis depuis le dossier "/backend". -
Depuis le dossier "/backend", lancer la commande
npm run migrate
pour peupler la Base de Données des ressources d'exemple. -
Copier les fichiers ".env.sample" dans les dossiers "/frontend" et "/backend" respectivement.
-
Renommer les copies en ".env" et injecter les données personnelles pour vous connecter à votre Base de Données.
- Lancer la commande
npm run dev
depuis le dossier racine pour voir le site déployé en http://localhost:3000 par défaut.
Le principe de React est de gérer des composants qui sont affichés sur la page internet.
À chaque fois que l'état d'un composant change, React le recharge pour afficher les changements l'affectant. Cela a pour effet de changer dynamiquement l'affichage de la page internet sans consommer trop de ressources car seul le (ou les) composant affecté est re-rendu.
L'état d'un composant change le plus souvent en fonction du changement des "states" qui l'affectent. Ces states sont des variables de React qui doivent être changées par React. Elles s'écrivent sous la forme :
const [state, setState] = useState(initialValue);
Les composants sont imbriqués entre parents et enfants.
Les states peuvent passer en props des parents aux enfants, mais pas des enfants aux parents.
Dans le contexte de ReactJS, une props est un argument.
Le projet est découpé en deux parties distinctes : le /backend et /frontend.
- "migrate.js" & "database.sql" : fichiers de ressources BDD.
- ".env" : contient les données confidentielles du back.
- "src"
- "app.js" : point d'entrée du back en Express. Il fait appel à plusieurs fichiers et renvoie vers "router.js".
- "router.js" : contient les routes qui passent par les middlewares ("/middlewares") avant d'être renvoyées vers les contrôleurs ("/controllers").
- "middlewares" : actions à réaliser pour formater les données envoyées depuis le front avant de pouvoir les transmettre aux contrôleurs.
- les contrôleurs renvoient vers les modèles/managers ("/models") qui réalisent les requêtes SQL.
- les modèles renvoient ensuite la donnée aux contrôleurs qui la renvoient au front.
-
"tailwind.config.js", "postcss.config.js" : fichiers pour gérer le style de Tailwind appliqué dans le projet.
-
"vite.config.js" : fichier de configuration de Vite (contient principalement les alias des routes front).
-
".env" : contient la route d'appel du back.
-
"index.html" : point d'entrée du navigateur qui appelle le point d'entrée de l'application React : "main.jsx".
-
"src"
- assets : dossier des ressources utilisées
- contexts : contient les fichiers pour pouvoir générer des states pour le profil utilisateur partout dans l'application.
- "main.jsx" : point d'entrée de React. Appelle "App.jsx".
- "App.jsx" : définit les routes front et appelle les pages et quelques composants comme le "layout" pour sécuriser les routes.
- pages : dossier qui contient les pages visibles sur le navigateur. Elles sont composées des composants ("/components") et lancent parfois des appels au back via axios.
- components : dossier qui contient des éléments de code réutilisables sur les pages.
Merci d'avoir fait confiance à l'équipe de 5DEV. On souhaite bonne route à PimLeaf.