Untitled.video.-.Made.with.Clipchamp.mp4
Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :
- MySQL (version 5.7 ou supérieure)
- Node.js (version 23.4.0 ou supérieure)
- npm (version 11.0.0 ou supérieure, généralement installé avec Node.js)
-
Installez MySQL sur votre machine si ce n'est pas déjà fait. Assurez-vous que la version est 5.7 ou supérieure.
-
Créez une base de données MySQL pour le projet. Vous pouvez utiliser la commande suivante dans votre terminal MySQL :
CREATE DATABASE IF NOT EXISTS <DB_name>;
Remplacez
<DB_name>par le nom de votre base de données. -
Vérifiez les accès à la base de données en vous assurant que l'utilisateur MySQL a les permissions nécessaires.
-
Clonez le dépôt du projet :
git clone https://github.com/ElectraVote-Web-App/DevPoll.git cd votre-projet/server -
Configurez les variables d'environnement pour le serveur en copiant le fichier
.env.examplevers.envet en remplissant les informations nécessaires :cp .env.example .env
Exemple de contenu pour
.env:DB_HOST=<db_host> # Exemple : localhost DB_USER=<user_name> # Exemple : root DB_PASSWORD=<user_password> # Votre mot de passe MySQL DB_NAME=<DB_name> # Nom de la base de données DB_PORT=3306 # Port MySQL par défaut PORT=3000 # Port du serveur HOST=localhost # Hôte du serveur JWT_SECRET=votre_clé_secrète_jwt # Clé secrète pour JWT NODE_ENV=development # Environnement d'exécution ALLOWED_ORIGINS=http://localhost:<port> # Origines autorisées pour CORS
-
Installez les dépendances :
npm install
-
Exécutez les migrations et les seeders pour créer les tables dans la base de données et peupler la base de données avec des données initiales :
npm run migration npm run seed # Ou en une seule commande npm run setup -
Démarrez le serveur en mode développement :
npm run dev
Le serveur devrait maintenant être accessible à l'adresse
http://localhost:3000.
-
Accédez au dossier client :
cd ../client -
Installez les dépendances :
npm install
-
Configurez les variables d'environnement pour le client en copiant le fichier
.env.examplevers.envet en remplissant les informations nécessaires :cp .env.example .env
Exemple de contenu pour
.env:VITE_BASE_URL=http://localhost:<port> # URL de l'API VITE_FRONTEND_URL=http://localhost:<port> # URL du frontend
-
Démarrez l'application client en mode développement :
npm run dev
L'application client devrait maintenant être accessible à l'adresse
http://localhost:<port>.
- Démarrer le serveur en mode développement :
npm run dev - Exécuter les migrations :
npm run migration - Annuler la dernière migration :
npm run rollback - Annuler toutes les migrations :
npm run rollback-all - Exécuter les seeders :
npm run seed - Réinitialiser la base de données et la remplir avec les seeders :
npm run reset-db
- Démarrer l'application en mode développement :
npm run dev - Construire l'application pour la production :
npm run build - Lancer un serveur de prévisualisation :
npm run preview - Linter le code :
npm run lint
-
Migration manuelle : Si vous devez créer une nouvelle migration, utilisez Sequelize CLI :
npx sequelize-cli migration:generate --name nom_de_votre_migration
-
Rollback spécifique : Pour annuler une migration spécifique :
npx sequelize-cli db:migrate:undo --name nom_de_la_migration
-
Variables d'environnement : Assurez-vous de configurer correctement les variables d'environnement pour la production, notamment
NODE_ENV=productionet les clés secrètes. -
Optimisation du client : Avant de déployer le client, exécutez la commande suivante pour optimiser le build :
npm run build
-
Erreurs de connexion à la base de données :
- Vérifiez que MySQL est en cours d'exécution.
- Assurez-vous que les informations de connexion dans
.envsont correctes.
-
Erreurs de migration :
- Si une migration échoue, utilisez
npm run rollbackpour annuler la dernière migration. - Vérifiez les logs pour plus de détails.
- Si une migration échoue, utilisez
-
Problèmes de CORS :
- Assurez-vous que
ALLOWED_ORIGINSdans.envcontient l'URL correcte du client.
- Assurez-vous que






