initial commit - LeDiscord plateforme des copains
This commit is contained in:
158
CONTRIBUTING.md
Normal file
158
CONTRIBUTING.md
Normal file
@@ -0,0 +1,158 @@
|
||||
# Guide de contribution - LeDiscord
|
||||
|
||||
## 🎯 Comment contribuer
|
||||
|
||||
Merci de votre intérêt pour contribuer à LeDiscord ! Ce guide vous aidera à comprendre comment participer au projet.
|
||||
|
||||
## 🚀 Démarrage rapide
|
||||
|
||||
### 1. Fork et clone
|
||||
```bash
|
||||
# Fork le projet sur GitHub
|
||||
# Puis clonez votre fork
|
||||
git clone https://github.com/votre-username/LeDiscord.git
|
||||
cd LeDiscord
|
||||
```
|
||||
|
||||
### 2. Configuration de l'environnement
|
||||
```bash
|
||||
# Copier le fichier d'environnement
|
||||
cp env.example .env
|
||||
|
||||
# Éditer .env avec vos valeurs
|
||||
nano .env
|
||||
|
||||
# Démarrer l'application
|
||||
make start
|
||||
```
|
||||
|
||||
### 3. Créer une branche
|
||||
```bash
|
||||
git checkout -b feature/nom-de-votre-fonctionnalite
|
||||
```
|
||||
|
||||
## 📝 Standards de code
|
||||
|
||||
### Backend (Python)
|
||||
- **Formatage** : Utilisez `black` pour le formatage automatique
|
||||
- **Linting** : Utilisez `flake8` pour la vérification du code
|
||||
- **Types** : Utilisez les annotations de type Python
|
||||
- **Tests** : Écrivez des tests pour toutes les nouvelles fonctionnalités
|
||||
|
||||
### Frontend (Vue.js)
|
||||
- **Formatage** : Utilisez `prettier` pour le formatage automatique
|
||||
- **Linting** : Utilisez `eslint` pour la vérification du code
|
||||
- **Composition API** : Utilisez la Composition API de Vue 3
|
||||
- **Tests** : Écrivez des tests unitaires pour les composants
|
||||
|
||||
## 🔧 Outils de développement
|
||||
|
||||
### Installation des outils
|
||||
```bash
|
||||
# Backend
|
||||
cd backend
|
||||
pip install black flake8 pytest
|
||||
|
||||
# Frontend
|
||||
cd frontend
|
||||
npm install -g prettier eslint
|
||||
```
|
||||
|
||||
### Commandes utiles
|
||||
```bash
|
||||
# Formatage automatique
|
||||
make format
|
||||
|
||||
# Vérification du code
|
||||
make lint
|
||||
|
||||
# Tests
|
||||
make test
|
||||
```
|
||||
|
||||
## 🧪 Tests
|
||||
|
||||
### Backend
|
||||
```bash
|
||||
cd backend
|
||||
pytest tests/ -v
|
||||
```
|
||||
|
||||
### Frontend
|
||||
```bash
|
||||
cd frontend
|
||||
npm run test:unit
|
||||
```
|
||||
|
||||
## 📋 Checklist avant de soumettre
|
||||
|
||||
- [ ] Code formaté avec les outils appropriés
|
||||
- [ ] Tests passent
|
||||
- [ ] Documentation mise à jour
|
||||
- [ ] Pas de secrets ou de données sensibles dans le code
|
||||
- [ ] Messages de commit clairs et descriptifs
|
||||
|
||||
## 🚀 Processus de contribution
|
||||
|
||||
### 1. Développement
|
||||
- Développez votre fonctionnalité
|
||||
- Écrivez des tests
|
||||
- Mettez à jour la documentation
|
||||
|
||||
### 2. Tests
|
||||
```bash
|
||||
# Tests backend
|
||||
make test-backend
|
||||
|
||||
# Tests frontend
|
||||
make test-frontend
|
||||
|
||||
# Tests complets
|
||||
make test
|
||||
```
|
||||
|
||||
### 3. Commit et push
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "feat: ajouter une nouvelle fonctionnalité"
|
||||
git push origin feature/nom-de-votre-fonctionnalite
|
||||
```
|
||||
|
||||
### 4. Pull Request
|
||||
- Créez une PR sur GitHub
|
||||
- Décrivez clairement les changements
|
||||
- Attendez la review
|
||||
|
||||
## 📚 Ressources utiles
|
||||
|
||||
- [Documentation FastAPI](https://fastapi.tiangolo.com/)
|
||||
- [Documentation Vue.js 3](https://vuejs.org/)
|
||||
- [Documentation Tailwind CSS](https://tailwindcss.com/)
|
||||
- [Documentation Docker](https://docs.docker.com/)
|
||||
|
||||
## 🐛 Signaler un bug
|
||||
|
||||
1. Vérifiez que le bug n'a pas déjà été signalé
|
||||
2. Créez une issue avec :
|
||||
- Description claire du bug
|
||||
- Étapes pour le reproduire
|
||||
- Comportement attendu vs. observé
|
||||
- Version de l'application
|
||||
- Logs d'erreur si applicable
|
||||
|
||||
## 💡 Proposer une fonctionnalité
|
||||
|
||||
1. Créez une issue avec le label "enhancement"
|
||||
2. Décrivez la fonctionnalité souhaitée
|
||||
3. Expliquez pourquoi elle serait utile
|
||||
4. Proposez une implémentation si possible
|
||||
|
||||
## 📞 Besoin d'aide ?
|
||||
|
||||
- Créez une issue avec le label "question"
|
||||
- Consultez la documentation
|
||||
- Rejoignez la communauté
|
||||
|
||||
## 🎉 Merci !
|
||||
|
||||
Votre contribution aide à améliorer LeDiscord pour tous les utilisateurs. Merci de participer au projet !
|
||||
Reference in New Issue
Block a user