- À propos du projet
- Fonctionnalités
- Prérequis
- Installation et Démarrage
- Authentification
- Pagination
- Test unitaires
- Code Linting et Conformité (Flake8)
- Technologies Utilisées
- Documentation API via Postman
- Auteur
SoftDesk API est une API RESTful développée pour faciliter la gestion des projets collaboratifs. Elle permet d’organiser les contributeurs autour de projets, de suivre les issues et les commentaires associés, avec une gestion des permissions et un accès sécurisé.
- Gestion des utilisateurs : Inscription, authentification JWT, gestion de profil, et permissions avancées.
- Gestion des projets : Création, consultation, mise à jour et suppression des projets avec des contributeurs associés.
- Suivi des issues : Création, mise à jour, et suivi des issues par projet, avec assignation à des utilisateurs.
- Commentaires : Ajout de commentaires aux issues, avec gestion d’auteurs et d’édition.
- Sécurité et optimisation : Permissions personnalisées, requêtes optimisées et pagination pour une efficacité maximale.
- Python : Version 3.10 ou supérieure
- Django : Version 4.x
- Django REST Framework
- Poetry : Pour la gestion des dépendances
Clonez ce dépôt en local :
git clone https://github.com/LuuNa-JD/softdesk-api.git
cd softdesk_api
Installez les dépendances nécessaires avec Poetry :
poetry install
Par défaut, l’API utilise SQLite. Pour PostgreSQL, configurez les informations dans settings.py sous la section DATABASES.
Exécutez les migrations pour préparer la base de données :
poetry run python manage.py migrate
Créez un superutilisateur pour accéder à l’interface d’administration :
poetry run python manage.py createsuperuser
Pour démarrer l'API en local, exécutez la commande suivante :
poetry run python manage.py runserver
L'API sera accessible par défaut sur http://127.0.0.1:8000/.
L'API utilise JWT pour l'authentification. Pour obtenir un token, envoyez une requête POST à l'URL /api/token/ avec les identifiants d'un utilisateur enregistré. Le token sera renvoyé dans la réponse.
Les endpoints de liste utilisent une pagination par défaut de 10 éléments par page. Pour ajuster le nombre d’éléments retournés par page :
Paramètres :
page
: numéro de page.page_size
: nombre d'éléments par page.
Pour exécuter les tests unitaires, utilisez la commande suivante :
poetry run python manage.py test
Le code de l’API SoftDesk est entièrement conforme aux normes de style de code PEP8, vérifiées avec Flake8. Cela garantit une qualité de code élevée et une meilleure lisibilité.
Pour vérifier la conformité du code, exécutez la commande suivante :
poetry run flake8
- Django & Django REST Framework : Backend.
- JWT : Authentification.
- Postman : Documentation des API et tests.
- Poetry : Gestion des dépendances.
- SQLite : Base de données.
La documentation de l'API SoftDesk est disponible sur Postman :
Julien Denzot - [LuuNa-JD]