-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Ce dépôt contient le code de la partie serveur de Chocapix, application web de gestion de bars d'étages.
Le projet est réalisé en Python (version 2.7 actuellement) avec le framework web Django (version 1.8.3).
Il propose une API REST, grâce au package Django REST Framework.
Bien que ce ne soit pas indispensable (voire compliqué pour les développeurs sous Windows...), il est recommandé d'utiliser un environnement virtuel pour développer. Pour cela, taper les commandes suivantes dans le dossier local du dépôt :
virtualenv env
source env/bin/activate
Installer ensuite les dépendances python à l'aide de pip
:
pip install -r requirements.txt
pip install -r requirements_test.txt
Pour quitter l'environnement virtuel, taper deactivate
.
Au sein de l'environnement virtuel, l'exécution du script manage.py
se fait simplement avec la commande
./manage.py [command]
À la première installation, supprimer (éventuellement) le fichier db.sqlite3
, exécuter les migrations :
./manage.py migrate
et charger les fixtures (données de travail) avec :
./manage.py loaddata fixtures_users-aliments.json
L'installation de mysql-python
pose problème sur certaines machines.
Il est recommandé d'installer plutôt mysqlclient
(cf. documentation de Django).
Il faut avoir préalablement installé les paquets python-dev
et libmysqlclient-dev
(via les dépôts pour Linux ou via homebrew pour Mac OS X).
Comme tout projet Django, chocapix-server
est organisé en applications :
-
bars_django est le dossier principal du projet. Il contient les paramètres globaux et les définitions de routes (
urls.py
) ; -
bars_core contient les modèles centraux du projet, comme
User
,Bar
ouAccount
, ainsi que les définitions de rôles pour les permissions ; - bars_items regroupe la partie "Aliments" du site (modélisation des aliments vendus par un bar, des articles achetés, etc.) ;
- bars_transactions gère les différents types de transactions (achat, approvisionnement, inventaire, etc.) ;
- bars_menus permet aux utilisateurs de créer et utiliser des menus préréglés ;
- bars_stats fournit des outils pour générer des statistiques de consommation dans les bars ;
- bars_news est un système de news intégré dans les bars, pour favoriser la communication liée aux bars d'étages ;
- bars_bugtracker est un outil simple de remontée de bugs.