Site web d'Orange County Lettings.
Orange County Lettings est une start-up dans le secteur de la location de biens immobiliers.
Domaines du site et du déploiement a améliorer et/ou ajouter :
1. Refonte de l'architecture modulaire dans le repository GitHub ;
2. Réduction de diverses dettes techniques sur le projet ;
3. Ajout d'un pipeline CI/CD ainsi que son déploiement ;
4. Surveillance de l’application et suivi des erreurs via Sentry ;
5. Création de la documentation technique de l’application avec Read The Docs et Sphinx.
python -m venv .venv
./activate
pip install poetry
poetry install
Possibilité de mettre en service des pré-commit.
pre-commit install
Les pré-commit effectuent un lintage du code avant chaque commit sur le code.
Pour travailler sans le mode DEBUG ( désactivé par défaut ) en local, collecter les fichiers statics :
python manage.py collectstatic --noinput
poetry run sphinx-build -b html doc/ doc/_build/
python manage.py runserver
-
Aller sur http://localhost:8000 dans un navigateur.
Page d'accueil de l'application :
- Aller sur http://localhost:8000/admin
- Connectez-vous avec l'utilisateur
admin
, mot de passeAbc1234!
L'application est accessible à l'adresse suivante : https://oc-lettings-site-cuqa.onrender.com
Interface d'administration : https://oc-lettings-site-cuqa.onrender.com/admin/login/?next=/admin/
Les images Docker sont taguées avec le commit court.
Lien vers le hub public : https://hub.docker.com/r/gbriche/oc-lettings-site-web
Au lancement d'une image , mettre 8000 au host port.
Pour executer les tests en local, se placer dans le dossier racine du projet :
pytest
Pour connaitre la couverture totale des tests :
pytest --cov=.
Pour effectuer un rapport html des tests :
pytest --cov=. --cov-report html
Lancer index.html du dossier htlmcov
L'application possède une journalisation sur sentry, enregistrant les exceptions levées et inattendues.
Lien vers sentry : https://oc-student-gbriche.sentry.io/auth/login/oc-student-gbriche/
Compte test sur Sentry pour accéder au logging :
- Email :
ocstudentgeo@gmail.com
- Mot de passe :
Pass_P13_OC_Python
Selectionner le projet : python-django
L'application possède un workflow ci/cd sur github actions.
Lien vers le workflow : https://github.com/geo1310/Projet-13-oc-lettings-site/actions?query=workflow%3ACI
Le pipeline est conçu pour automatiser le processus de construction, de test et de déploiement de l'application, en garantissant une intégration continue et une livraison continue.
Il est composé de trois étapes :
-
Build : Construction et validation du code.
- -> Déclenché sur un Push ou une P.R sur n’importe quelle branche.
- Simule l'installation de l'application et des dépendances.
- Effectue le lintage du code avec falke8 et black.
- Effectue les tests avec une couverture minimum de 80%
-
Deploy Docker : Création et gestion des images Docker.
- -> Déclenché sur un Push ou une P.R sur la branche main et aprés la réusssite du build.
- Lien vers le Docker Hub : https://hub.docker.com/r/gbriche/oc-lettings-site-web
- Les Images Docker sont taguées avec le commit court du push.
-
Deploy Render : Déploiement sur la plateforme Render.
- -> Déclenché sur un Push ou une P.R sur la branche main et aprés la réusssite du deploy-docker.
- Déploie le projet sur render à l'aide de l'URL webhook de render
Si vous souhaitez contribuer à ce projet, veuillez suivre ces étapes :
Ouvrez un problème pour discuter de ce que vous souhaitez changer.
Fork ce dépôt et créez une branche pour votre contribution.
Soumettez une demande d'extraction avec vos modifications.