➔ Documentation Postman du projet SoftDesk
- Informations générales
- Fonctionnalitées
- Interface d'administration Django
- Liste pré-requis
- Création environnement
- Activation environnement
- Installation des librairies
- Exécution de l'application
- Liste end points
- Liste end points administrateur
- Rapport avec flake8
- Informations importantes sur les différents fichiers et dossiers
- Auteur et contact
- Création d'une API RESTful développé sur Django REST framework permettant d'échanger des informations en toute sécurité.
- L'API permet de créer des utilisateurs, des projets, des contributions, des issues, des commentaires.
Retour en haut 🡅
- Opérations CRUD.
Inscription
etconnexion
.- Navigation au travers des end points de l'API.
Pour plus de détails sur le fonctionnement de cette API, se référer à sa ➔ documentation Postman.
Note : Testé sous Windows 7 - Python 3.7.2 - Django 3.2.20 - Django REST framework 3.12.4
Retour en haut 🡅
-
L'interface d'administration Django est disponible et fonctionnelle.
-
Créer
etmodifier
des utilisateurs. -
Créer
etmodifier
des projets, des contributeurs, des issues et des commentaires.
Identifiant : Admin | Mot de passe : Hello123 Page d'administration Django ➔ http://127.0.0.1:8000/admin/
Identifiant | Mot de passe |
---|---|
Lisa | Hello123 |
Milhouse | Hello123 |
Marge | Hello123 |
Bart | Hello123 |
Retour en haut 🡅
Programme élaboré avec les les technologies suivantes :
-
Python v3.7.2 choisissez la version adaptée à votre ordinateur et système.
-
Python est disponible à l'adresse suivante ➔ https://www.python.org/downloads/
-
Django 3.2.19
-
Django REST framework 3.12.4
-
Postman ➔ https://www.postman.com/
-
Windows 7 professionnel SP1
-
Les scripts Python s'exécutent depuis un terminal.
- Pour ouvrir un terminal sur Windows, pressez la touche
windows + r
et entrezcmd
. - Sur Mac, pressez la touche
command + espace
et entrezterminal
. - Sur Linux, vous pouvez ouviri un terminal en pressant les touches
Ctrl + Alt + T
.
- Pour ouvrir un terminal sur Windows, pressez la touche
Retour en haut 🡅
- Installer une version de Python compatible pour votre ordinateur.
- Une fois installer ouvrer le cmd (terminal) placer vous dans le dossier principal (dossier racine).
Taper dans votre terminal :
python -m venv env
Note : Un répertoire appelé env doit être créé.
Retour en haut 🡅
- Placez-vous avec le terminal dans le dossier principale (dossier racine).
Pour activer l'environnement virtuel créé, il vous suffit de taper dans votre terminal :
env\Scripts\activate.bat
- Ce qui ajoutera à chaque ligne de commande de votre terminal
(env)
:
Pour désactiver l'environnement virtuel, il suffit de taper dans votre terminal :
deactivate
Retour en haut 🡅
- Le programme utilise plusieurs librairies externes et modules de Python, qui sont répertoriés dans le fichier
requirements.txt
. - Placez-vous dans le dossier où se trouve le fichier
requirements.txt
avec le terminal, l'environnement virtuel doit être activé. - Pour faire fonctionner le programme, il vous faudra installer les librairies requises.
- À l'aide du fichiers
requirements.txt
mis à disposition.
Taper dans votre terminal la commande :
pip install -r requirements.txt
Retour en haut 🡅
- Lancement du serveur Django.
- Placez-vous avec le terminal dans le dossier principal LITReview.
- Activer l'environnement virtuel et ensuite lancer le serveur Django.
Taper dans votre terminal la commande :
python manage.py runserver
- Lancement de l'application dans le navigateur de votre choix.
- Se rendre à l'adresse ➔ http://127.0.0.1:8000/
Il est possible de naviguer dans l'API avec différents outils :
- La plateforme ➔ Postman ;
- L'outil de commandes ➔ cURL ;
- L'interface intégrée Django REST framework à l'adresse ➔ http://127.0.0.1:8000/ (adresse par défaut, cf. points de terminaison ci-dessous).
Note : Créer ou utiliser un utilisateur déja présent dans la base de données.
- Si vous souhaitez créer un nouvel utilisateur dans l'environnement virtuel, utiliser le shell Django.
- Si vous souhaitez que l'utilisateur est accés à l'interface d'administration de Django ➔
http://127.0.0.1:8000/admin/
Remplacer is_staff=False
par is_staff=True
Tapez dans votre terminal les commandes :
>>> python manage.py shell
>>> from user.models import User
>>> user = User.objects.create_user(username='nom_utilisateur', password='password_utilisateur', age=18, consent_choice=True, is_active=True, is_staff=False)
Note : Remplacez nom_utilisateur, password_utilisateur, age=18 par les valeurs que vous souhaitez.
Retour en haut 🡅
- Détails dans la ➔ documentation Postman.
- Import et exécute la collection dans votre propre espace de travail Postman ➔
# | End points d'API | Méthode HTTP | URL (base: http://127.0.0.1:8000) |
---|---|---|---|
1 | Permet de refresh le token | POST | /api/token/refresh/ |
2 | Inscription de l'utilisateur | POST | /api/signup/ |
3 | Connexion de l'utilisateur | POST | /api/login/ |
4 | Récupérer la liste de tous les projets | GET | /api/projects/ |
5 | Récupérer les détails d'un projet via son id | GET | /api/projects/:project_id/ |
6 | Créer un projet | POST | /api/projects/ |
7 | Mettre à jour un projet | PUT | /api/projects/:project_id/ |
8 | Supprimer un projet et ses problèmes | DELETE | /api/projects/:project_id/ |
9 | Récupérer la liste des contributeurs | GET | /api/projects/:project_id/users/ |
10 | Ajouter ou modifier un contibuteur à un projet | POST | /api/projects/:project_id/users/ |
11 | Supprimer un contributeur d'un projet | DELETE | /api/projects/:project_id/users/:contributor_id/ |
12 | Récupérer la liste des problèmes | GET | /api/projects/:project_id/issues/ |
13 | Créer un problème dans un projet | POST | /api/projects/:project_id/issues/ |
14 | Mettre à jour un problème dans un projet | PUT | /api/projects/:project_id/issues/:issue_id/ |
15 | Supprimer un problème d'un projet | DELETE | /api/projects/:project_id/issues/:issue_id/ |
16 | Récupérer la liste des commentaires | GET | /api/projects/:project_id/issues/:issue_id/comments/ |
17 | Ajouter ou modifier un commentaire | POST | /api/projects/:project_id/issues/:issue_id/comments/ |
18 | Modifier un commentaire | PUT | /api/projects/:project_id/issues/:issue_id/comments/:comment_id/ |
19 | Supprimer un commentaire | DELETE | /api/projects/:project_id/issues/:issue_id/comments/:comment_id/ |
Retour en haut 🡅
Note : Les end points suivants sont disponibles en administrateur pour pouvoir visualiser les données. |
---|
→ http://127.0.0.1:8000/api/admin/users/ |
→ http://127.0.0.1:8000/api/admin/users/{id}/ |
→ http://127.0.0.1:8000/api/admin/projects/ |
→ http://127.0.0.1:8000/api/admin/projects/{id}/ |
→ http://127.0.0.1:8000/api/admin/contributors/ |
→ http://127.0.0.1:8000/api/admin/contributors/{id}/ |
→ http://127.0.0.1:8000/api/admin/issues/ |
→ http://127.0.0.1:8000/api/admin/issues/{id}/ |
→ http://127.0.0.1:8000/api/admin/comments/ |
→ http://127.0.0.1:8000/api/admin/comments/{id}/ |
Navigateur.
Note : Les tests ont était fait sur Firefox et Google Chrome.
Retour en haut 🡅
- Le repository contient un rapport flake8, qui renvoi
All good! No flake8 errors found in 20 files scanned.
➔ (.flake8) - Il est possible d'en générer un nouveau en installant le module
flake8
s'il n'est pas installé.
Installation de flake8 en entrant dans votre terminal la commande :
pip install flake8-html
- Créer un fichier
.flake8
si il n'existe pas. - Ecrire le texte suivant dedans :
[flake8]
exclude = .git, env, .gitignore, static, static, *tests.py, **/templates/, **/migrations/
max-line-length = 119
ignore = F401, W504, F811, F821
Tapez dans votre terminal la commande :
flake8 --format=html --htmldir=flake-report
- Un rapport sera généré dans le dossier
flake-report
.
Retour en haut 🡅
Le dossier api
- Le dossier est une apps Django qui contient :
- Un dossier
migrations
contenant les fichiers de configuration pour la base de données. ➔ (migrations) - Á la racine du dossier
api
les fichiers tels que views.py, models.py, serializers.py, permissions.py. ➔ (api)
Le dossier user
- Le dossier est une apps Django qui contient :
- Un dossier
migrations
contenant les fichiers de configuration pour la base de données. ➔ (migrations) - Á la racine du dossier
user
les fichiers tels que views.py, models.py, serializers.py. ➔ (user)
Le dossier SoftDesk
- Le dossier est une apps Django qui contient :
- Les fichiers de configuration du projet.
- Á la racine du dossier
SoftDesk
les fichiers tels que settings.py, urls.py. ➔ (SoftDesk)
Le dossier static
- Dossier qui contient qui contient les images svg des badges.
Retour en haut 🡅
Pour toute information supplémentaire, vous pouvez me contacter.
Bubhux: bubhuxpaindepice@gmail.com