# La Chariotte ## Présentation La Chariotte est une application web sous licence libre Affera GPL, développée et maintenue par [Hashbang](https://hashbang.fr/). ## 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 maintainer de la Chariotte pourra relire votre code et proposer des améliorations/poser des questions si nécessaire. Seuls les maintainers peuvent merger dans develop et main. Encore merci, et bon code ! ## Développement Cloner le projet : ```bash git clone https://gitlab.com/hashbangfr/la_chariotte.git ``` Installer les dépendances : ```bash pip install -r requirements.txt pip install -r dev-requirements.txt ``` ## Travailler sur le frontend install bulma ```bash npm install bulma ``` check sass version ```bash sass --version # used for developement: 1.59.3 compiled with dart2js 2.19.4 ``` watch for changes when updating scss files (from project root) ```bash 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) ```bash sass --no-source-map ./la_chariotte/static/sass/style.sass:./la_chariotte/static/css/app.css ``` ## Lancer les tests Lancer les tests avec pytest : ```bash pytest ``` Si il y a des erreurs ISORT, on peut lancer isort pour trier les fichiers : ```bash isort . ``` Si il y a des erreurs BLACK, on peut lancer black pour linter le code : ```bash 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.