la-chariotte/README.md

2.3 KiB

La Chariotte

Présentation

La Chariotte est une application web sous licence libre Affero GPL, développée et maintenue par Hashbang.

Contribuer

Si vous souhaitez contribuer au projet de la Chariotte, merci beaucoup !

Pour cela, une fois que vous avez cloné le projet et obtenu le statut de développeur sur le projet GitLab, vous pouvez :

  • choisir une tâche dans le board que vous voulez réaliser, et vous l'assigner - si vous ne savez pas quelle tâche faire, n'hésitez pas à écrire à laetitia@chariotte.fr
  • créer une nouvelle branche à partir de develop dont le nom dira ce que vous voulez faire
  • réaliser la tâche, sans oublier d'écrire et de lancer les tests (voir plus bas)
  • créer une Merge Request, contenant le plus de détails possible sur ce que vous avez fait

Ensuite, un mainteneur de la Chariotte pourra relire votre code et proposer des améliorations/poser des questions si nécessaire. Seuls les mainteneurs peuvent merger dans develop et main.

Encore merci, et bon code !

Développement

Cloner le projet :

git clone https://gitlab.com/hashbangfr/la_chariotte.git

Installer les dépendances :

pip install -r requirements.txt
pip install -r dev-requirements.txt

Travailler sur le frontend

install bulma

npm install bulma

check sass version

sass --version
# used for developement: 1.59.3 compiled with dart2js 2.19.4

watch for changes when updating scss files (from project root)

sass --watch --no-source-map ./la_chariotte/static/sass/style.sass:./la_chariotte/static/css/app.css

OR compile css only once (from project root)

sass --no-source-map ./la_chariotte/static/sass/style.sass:./la_chariotte/static/css/app.css

Lancer les tests

Lancer les tests avec pytest :

pytest

Si il y a des erreurs ISORT, on peut lancer isort pour trier les fichiers :

isort .

Si il y a des erreurs BLACK, on peut lancer black pour linter le code :

black .

Architecture de l'application

Les différentes applications Django créées sont :

  • Order, pour gérer tout ce qui tourne autour des commandes
  • Accounts, pour gérer la création de comptes. Pour la connexion, la déconnexion et le changement de mot de passe, on utilise l'application auth intégrée à Django.