Skip to content
Snippets Groups Projects
Commit c11c5ab7 authored by florimondmanca's avatar florimondmanca
Browse files

update README

parent 4e27de73
No related branches found
No related tags found
No related merge requests found
...@@ -60,7 +60,7 @@ Le site d'OSER utilise le DRF en version 3.7.3. Cette version est entièrement c ...@@ -60,7 +60,7 @@ Le site d'OSER utilise le DRF en version 3.7.3. Cette version est entièrement c
#### FactoryBoy #### FactoryBoy
[FactoryBoy](http://factoryboy.readthedocs.io/en/latest/index.html) est utilisé pour faciliter la création d'objets de test en définissant des usines (*factories*) à partir des modèles Django. Les usines sont définies dans `oser_cs/tests/factory.py`. [FactoryBoy](http://factoryboy.readthedocs.io/en/latest/index.html) est utilisé pour faciliter la création d'objets de test en définissant des usines (*factories*) directement à partir des modèles Django. Les usines sont définies dans `oser_cs/tests/factory.py`.
## Installation ## Installation
...@@ -89,17 +89,29 @@ oser-website $ source env/bin/activate ...@@ -89,17 +89,29 @@ oser-website $ source env/bin/activate
(env) oser-website $ pip install -r requirements.txt (env) oser-website $ pip install -r requirements.txt
``` ```
4. Lancez les tests pour vous assurer que tout est prêt : 4. Configurez la BDD de développement :
```bash ```bash
(env) oser-website $ cd oser_cs (env) oser-website $ cd oser_cs
(env) oser_cs $ python manage.py makemigrations
(env) oser_cs $ python manage.py migrate
```
5. Lancez les tests pour vous assurer que tout est prêt :
```bash
(env) oser_cs $ python manage.py test (env) oser_cs $ python manage.py test
``` ```
5. Démarrez le serveur local : 6. (Optionnel) Peuplez la BDD de développement avec des données d'imitation :
```bash
(env) oser_cs $ python manage.py populatedb
```
7. Démarrez le serveur local :
```bash ```bash
(env) oser-website $ cd oser_cs
(env) oser_cs $ python manage.py runserver (env) oser_cs $ python manage.py runserver
``` ```
...@@ -113,10 +125,35 @@ Rendez-vous sur [`http://localhost:8000/api/`](http://localhost:8000/api/) et vo ...@@ -113,10 +125,35 @@ Rendez-vous sur [`http://localhost:8000/api/`](http://localhost:8000/api/) et vo
:construction_worker_man: Section en construction. :construction_worker_man: Section en construction.
### Backend
#### Structure des données
TODO
#### Documentation de l'API
Elle est accessible à l'endpoint `/api/docs/`. Sur le serveur local, vous pouvez donc y accéder à l'URL [`http://localhost:8000/api/docs`](http://localhost:8000/api/docs).
![API Docs](media/api-docs.png)
## Contribuer ## Contribuer
:construction_worker_man: Section en construction. :construction_worker_man: Section en construction.
### Pratiques de test
- Dès que vous corrigez un bug, pensez à écrire un test de non-régression (qui permettra de s'assurer que le bug n'arrive plus).
- Tout élément de *business logic* doit être testé par un test fonctionnel.
#### Test de l'API
- Les tests de l'API sont définis dans le package `tests/test_api`.
- Tous les endpoints d'une ressource doivent être testés par un test fonctionnel qui envoie la requête et s'assure que le `status_code` est celui attendu.
- Les permissions d'un endpoint doivent être testées par un test fonctionnel également.
- Un template de cas de test de ressource basée sur un modèle est proposé dans `tests/test_api/model_api_boilerplate.py`.
## À propos d'OSER ## À propos d'OSER
OSER, ou Ouverture Sociale pour la Réussite, est une association étudiante de CentraleSupélec œuvrant dans le cadre des Cordées de la Réussite. Elle accompagne des jeunes issus de tous milieux sociaux et leur propose à cet effet un programme de tutorat, des sorties culturels, des séjours thématiques ou encore des stages de découverte. OSER, ou Ouverture Sociale pour la Réussite, est une association étudiante de CentraleSupélec œuvrant dans le cadre des Cordées de la Réussite. Elle accompagne des jeunes issus de tous milieux sociaux et leur propose à cet effet un programme de tutorat, des sorties culturels, des séjours thématiques ou encore des stages de découverte.
media/api-docs.png

215 KiB

...@@ -5,7 +5,7 @@ from users.permissions import setup_groups ...@@ -5,7 +5,7 @@ from users.permissions import setup_groups
@register(Tags.models) @register(Tags.models)
def groups_check(app_configs, **kwargs): def check_groups(app_configs, **kwargs):
"""Check for users groups and add those missing as necessary.""" """Check for users groups and add those missing as necessary."""
errors = [] errors = []
groups_created = setup_groups() groups_created = setup_groups()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment