docs: Update README with comprehensive documentation

This commit is contained in:
Kevin
2026-06-28 10:43:43 +02:00
parent 3de3e4f770
commit 81195a0486
+207 -1
View File
@@ -1,2 +1,208 @@
# pc_builder
# PC Builder
Une application web moderne pour construire et gérer des configurations PC personnalisées. Construite avec **AdonisJS** et **Vue.js** (Inertia).
## 🎯 Fonctionnalités
- **Gestion des composants** : Cataloguer et gérer les composants informatiques (CPU, GPU, RAM, etc.)
- **Construction de PC** : Créer et configurer des ordinateurs personnalisés
- **Galerie de photos** : Ajouter et gérer des images de vos configurations
- **Authentification utilisateur** : Système d'inscription et de connexion sécurisé
- **Interface réactive** : Interface utilisateur moderne avec Vue.js et Tailwind CSS
## 📋 Prérequis
- **Node.js** >= 18.0.0
- **npm** ou **yarn**
- **PostgreSQL** (ou autre base de données supportée)
- **Docker** (optionnel, pour l'environnement de développement)
## 🚀 Installation
### 1. Cloner le repository
```bash
git clone http://192.168.1.39:3000/Stude12/pc_builder
cd pc_builder
```
### 2. Installer les dépendances
```bash
npm install
```
### 3. Configuration de l'environnement
Copier le fichier `.env.example` en `.env` et configurer vos variables :
```bash
cp .env.example .env
```
Éditer `.env` et configurer :
- `DB_CONNECTION` : Type de base de données
- `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`, `DB_DATABASE` : Connexion à la base
- `APP_KEY` : Clé de chiffrement (générer avec `node ace generate:key`)
### 4. Générer la clé d'application
```bash
node ace generate:key
```
### 5. Exécuter les migrations
```bash
node ace migration:run
```
### 6. Démarrer le serveur de développement
```bash
npm run dev
```
L'application sera disponible à `http://localhost:3333`
## 🛠️ Scripts disponibles
```bash
# Développement avec hot reload
npm run dev
# Compilation pour la production
npm run build
# Serveur de production
npm run start
# Linter (ESLint)
npm run lint
# Tests
npm run test
# Vérifier les types TypeScript
npm run typecheck
```
## 📁 Structure du projet
```
pc_builder/
├── app/ # Code métier
│ ├── controllers/ # Contrôleurs des routes
│ ├── models/ # Modèles Lucid (ORM)
│ ├── middleware/ # Middlewares
│ ├── validators/ # Validateurs
│ ├── services/ # Logique métier
│ ├── exceptions/ # Exceptions personnalisées
│ └── transformers/ # Transformeurs de données
├── inertia/ # Code frontend Vue.js
│ ├── pages/ # Pages Vue.js
│ ├── components/ # Composants Vue.js réutilisables
│ ├── layouts/ # Layouts de pages
│ ├── composables/ # Composables Vue.js
│ ├── assets/ # Images, icônes, CSS
│ └── directives/ # Directives Vue.js personnalisées
├── config/ # Fichiers de configuration
├── database/ # Migrations et schema
│ ├── migrations/ # Fichiers de migration
│ └── schema.ts # Schéma de la base de données
├── start/ # Points d'entrée de l'application
├── public/ # Fichiers publics statiques
├── resources/ # Templates Edge
├── tests/ # Tests unitaires et fonctionnels
└── node_modules/ # Dépendances (ignorées par git)
```
## 🗄️ Modèles de données
### User
- Utilisateurs de l'application
- Authentification et autorisation
### Computer
- Configurations PC
- Associations avec les composants
- Galerie de photos
### Component
- Composants informatiques
- Classés par type (CPU, GPU, RAM, etc.)
### ComputerState
- État et historique des configurations
### ComputerPicture
- Images des configurations PC
## 🔐 Sécurité
- Validation CSRF sur tous les formulaires
- Hachage sécurisé des mots de passe
- Middleware d'authentification
- Protection CORS configurée
- Échappement des données XSS
## 🧪 Tests
```bash
# Exécuter les tests
npm run test
# Tests avec couverture
npm run test:coverage
```
## 📦 Déploiement
### Avec Docker
```bash
# Construire l'image
docker-compose build
# Lancer les services
docker-compose up -d
```
### Manuel
1. Compiler le projet : `npm run build`
2. Installer les dépendances de production : `npm ci --omit=dev`
3. Démarrer l'application : `npm start`
## 🤝 Contribution
Les contributions sont bienvenues ! Voici le workflow :
1. Créer une nouvelle branche : `git checkout -b feature/ma-feature`
2. Faire vos modifications
3. Commiter vos changements : `git commit -m "Add: description"`
4. Pousser vers la branche : `git push origin feature/ma-feature`
5. Ouvrir une Pull Request
## 📝 Convention de commits
- `feat:` Nouvelle fonctionnalité
- `fix:` Correction de bug
- `docs:` Documentation
- `style:` Formatage, sans changement logique
- `refactor:` Refactorisation de code
- `test:` Ajout ou modification de tests
- `chore:` Maintenance, dépendances
## 📄 Licence
Ce projet est sous licence MIT.
## 📧 Support
Pour toute question ou problème, veuillez ouvrir une issue sur le repository.
---
**Repository** : http://192.168.1.39:3000/Stude12/pc_builder
**Branche principale** : main