Ce template est conçu pour servir de base à tous les projets (P2/P3) suivants la stack React-Node-MySQL telle qu'enseignée à la Wild Code School. Il est préconfiguré avec un ensemble d'outils qui aideront les élèves à produire un code correspondant mieux aux standards du monde du travail et plus facile à maintenir, tout en restant simple à utiliser.
- Sur VSCode, installer les plugins Prettier - Code formatter et ESLint et les configurer
- Cloner ce dépôt, se rendre à l'intérieur
- Lancer la commande
npm run setup
- NB: Pour exécuter le backend, un fichier d'environnement avec les données de connexion d'une BdD valide est nécesaire. Un modèle se trouve dans
backend/.env.sample
setup
: Initialisation du frontend et du backend ainsi que des outilsdev
: Démarrage des deux serveurs (frontend + backend) dans un même terminaldev-front
: Démarrage d'un serveur React pour le frontenddev-back
: Démarrage d'un serveur Express pour le backendlint
: Exécute des outils de validation de code (sera exécutée automatiquement à chaque commit)fix
: Fixe les erreurs de formatage (à lancer silint
ne passe pas)
- Concurrently : Permet d'exécuter plusieurs commandes dans un même terminal
- Husky : Permet d'exécuter des actions en déclenchement de commandes git
- Vite : Alternative à Create-React-App, embarquant moins de packages pour une expérience plus fluide
- ESLint : Outil de "qualité de code", permet de s'assurer que des règles pré-configurées sont bien respectées
- Prettier : Outil de "qualité de code" également, se concentre plus particulièrement sur le style du code
- Standard Airbnb : L'un des "standards" les plus connus, même s'il n'est pas officiellement lié à ES/JS
- Nodemon : Outil permettant de relancer un serveur à chaque fois qu'un des fichiers est modifié
Prettier:
- corriger la config front/back pour qu'elle suive le même standard qu'ESLint
Testing:
- ajouter des tests unitaires sur le front et le back, avec les commandes associées
Vérifications:
- s'assurer que les principaux outils utilisés lors de la formation sont compatibles avec ce template
- deploiements ? Compatible avec Netlify/Vercel/Heroku ?
- fonctionnement avec yarn/pnpm