Projet Vue.js avec API RESTful Node.js/Express et base de données MySQL.
- ✅ Vue 3 avec Composition API
- ✅ Vite comme build tool (plus moderne que Vue CLI)
- ✅ Architecture modulaire avec composants
- ✅ Single Page Application (SPA) sans rechargement
- ✅ Backend Express.js avec routes RESTful
- ✅ Endpoints CRUD complets :
GET /api/forfaits- Liste des forfaitsPOST /api/forfaits- Créer un forfaitPUT /api/forfaits/:id- Modifier un forfaitDELETE /api/forfaits/:id- Supprimer un forfaitGET /api/categories- Liste des catégories
- ✅ Controllers séparés pour la logique métier
- ✅ Middleware CORS configuré
- ✅ Utilisation de Sequelize ORM
- ✅ Modèles définis (Forfait, Categorie)
- ✅ Relations entre tables (hasMany, belongsTo)
- ✅ Migrations automatiques avec
sync()
- ✅ Configuration personnalisée dans
tailwind.config.js - ✅ Couleurs personnalisées
- ✅ Classes utilitaires uniquement (pas de composants préconstruits)
- ✅ Design responsive mobile-first
- ✅ Classes personnalisées via
@layer components
- ✅ Le front consomme désormais l'API backend (plus de fichiers JSON locaux)
- ✅ Fichiers supprimés:
frontend/src/categories.json,frontend/src/forfaits.json - ✅ CSS global importé via
src/style.css(passrc/assets/css/tailwind.css)
- ✅ Code propre et structuré
- ✅ Compositions sémantiques (header, nav, main, section, footer)
- ✅ Architecture MVC côté backend
- ✅ Props et emits pour la communication entre composants
- ✅ Responsive design (mobile, tablette, desktop)
- Node.js (v18+)
- MySQL (v8+)
- npm ou yarn
cd frontend
npm install
npm run devcd backend
npm install
npm start- Créer la base de données MySQL
nomadica_db - Exécuter le fichier
backend/database.sqlpour créer les tables et insérer les données initiales
camille-breau-vue-js/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── CarteForfait.vue
│ │ │ ├── Catalogue.vue
│ │ │ ├── FormulaireForfait.vue
│ │ │ ├── HeroHeader.vue
│ │ │ └── MainFooter.vue
│ │ ├── views/
│ │ │ ├── Accueil.vue
│ │ │ ├── APropos.vue
│ │ │ ├── Forfaits.vue
│ │ │ └── Formulaire.vue
│ │ ├── router/
│ │ │ └── index.js
│ │ ├── App.vue
│ │ ├── main.js
│ │ └── style.css
│ ├── index.html
│ ├── package.json
│ ├── tailwind.config.js
│ └── vite.config.js
├── backend/
│ ├── app/
│ │ ├── config/
│ │ │ └── db.config.js
│ │ ├── controllers/
│ │ │ ├── forfait.controller.js
│ │ │ └── categorie.controller.js
│ │ ├── models/
│ │ │ ├── forfait.model.js
│ │ │ ├── categorie.model.js
│ │ │ └── index.js
│ │ └── routes/
│ │ ├── forfait.route.js
│ │ └── categorie.route.js
│ ├── server.js
│ ├── package.json
│ └── database.sql
└── README.md
- Primary:
#79c7c5(turquoise) - Secondary:
#2d5a4f(vert foncé) - Dark:
#123a2d(vert très foncé) - Light:
#e0f2f1(turquoise clair)
- ✅ Affichage de la liste des forfaits
- ✅ Création de nouveaux forfaits
- ✅ Modification de forfaits existants
- ✅ Suppression de forfaits
- ✅ Navigation sans rechargement
- ✅ Formulaire de création/modification avec validation
- ✅ Design responsive