Bienvenue dans l'API SoftDesk. Ce projet est une plateforme de gestion de projets permettant aux utilisateurs de créer des projets, des problèmes (issues), des commentaires, et de collaborer avec des contributeurs.
Assurez-vous d'avoir les éléments suivants installés sur votre système :
Pour installer et configurer ce projet sur votre machine locale :
- Clonez le dépôt GitHub :
git clone <url_du_repository>
cd SoftDesk_DjangoRestfulAPI- Installez les dépendances avec pipenv :
pipenv install --dev- Activez l'environnement virtuel :
pipenv shell- Modifier le fichier
.env
Aller dans la racine du projet :
cd src/ApiSoftDesk/-
Renommer le fichier : Renommez le fichier
.env.sampleen.envdans le répertoire de votre projet. -
Ouvrir le fichier
.env: Ouvrez le fichier.envavec un éditeur de texte. -
Configurer la clé secrète : Remplacez <your_secret_key_here> par une clé secrète Django forte et unique.
-
Générer une clé secrète Django :
-
Vous pouvez utiliser des outils en ligne tels que Djecrety. Ce site génère une clé secrète Django sécurisée que vous pouvez simplement copier et coller dans votre fichier
.env. -
Assurez-vous que les valeurs des autres variables, comme et <ALLOWED_HOSTS>, sont appropriées pour votre environnement de développement.
-
Sauvegarder les modifications : Enregistrez le fichier
.envaprès avoir effectué les modifications nécessaires. -
Ce fichier ne doit pas être ajouté à votre dépôt Git. Assurez-vous qu'il est bien listé dans votre .gitignore pour éviter toute exposition accidentelle de vos configurations.
-
-
Démarrez le serveur de développement local :
Dans src :
python manage.py runserverVotre application devrait maintenant être disponible à l'adresse : http://127.0.0.1:8000/
L'API SoftDesk est disponible à l'adresse /api/v1/. L'accès à certains endpoints nécessite un token d'authentification (JWT).
Obtenir un token d'authentification
Pour tester les requêtes et interactions avec l'API, Postman est recommandé. Vous pouvez télécharger et configurer Postman ici : Postman
Pour tester l'API avec des privilèges d'administrateur, vous pouvez utiliser les identifiants suivants :
- Nom d'utilisateur :
opc-admin - Mot de passe :
opc-password
Ces identifiants vous permettront d'accéder à toutes les fonctionnalités administratives de l'API sans avoir à créer un superuser.
Utilisez le endpoint suivant pour obtenir un token JWT après vous être authentifié avec vos identifiants :
- URL :
/api/v1/token/ - Méthode :
POST - Données :
{
"username": "votre_nom_utilisateur",
"password": "votre_mot_de_passe"
}La réponse vous fournira deux tokens : un access token et un refresh token.
Utilisez le endpoint suivant pour rafraîchir votre token JWT en utilisant le refresh token obtenu précédemment :
- URL :
/api/v1/token/refresh/ - Données :
{ "refresh": "votre_refresh_token" }
La réponse vous fournira un nouveau access token.
Voici une liste des principaux endpoints de l'API SoftDesk :
-
Liste des projets
- URL :
/api/v1/projects/ - Méthode :
GET - Description : Récupère la liste de tous les projets.
- URL :
-
Créer un projet
- URL :
/api/v1/projects/ - Méthode :
POST - Description : Crée un nouveau projet.
- Données :
{ "title": "Nom du projet", "description": "Description du projet", "type": "ios" } - URL :
-
Liste des issues
- URL :
/api/v1/projects/{project_id}/issues/ - Méthode :
GET - Description : Récupère la liste de toutes les issues pour un projet donné.
- URL :
-
Créer une issue
- URL :
/api/v1/projects/{project_id}/issues/ - Méthode :
POST - Description : Crée une nouvelle issue pour un projet donné.
- Données :
{ "title": "Nouvelle Issue", "description": "Description de l'issue", "tag": "bug", "priority": "high", "status": "todo", "assigned_to": 23, "author":22, "project":25 } - URL :
-
Liste des commentaires
- URL :
/api/v1/issues/{issue_id}/comments/ - Méthode :
GET - Description : Récupère la liste de tous les commentaires pour une issue donnée.
- URL :
-
Créer un commentaire
- URL :
/api/v1/issues/{issue_id}/comments/ - Méthode :
POST - Description : Crée un nouveau commentaire pour une issue donnée.
- Données :
{ "description": "Contenu du commentaire" } - URL :
La documentation complète de l'API est disponible via les interfaces Swagger et Redoc :
- Swagger UI : Swagger | http://127.0.0.1:8000/swagger/
- Redoc : Redoc | http://127.0.0.1:8000/redoc/
Ces interfaces vous permettent d'explorer tous les endpoints disponibles et de tester les différentes fonctionnalités directement via une interface interactive.
Indiquez comment d'autres peuvent contribuer à votre projet.
Indiquez la licence sous laquelle le projet est distribué.