Présentation du projet

Contexte

OC Lettings est une application web développée avec Django pour une entreprise spécialisée dans la location de biens immobiliers.

L’application permet de consulter :

  • la liste des locations disponibles ;

  • les informations détaillées de chaque location ;

  • la liste des profils utilisateurs ;

  • les informations associées à chaque profil ;

  • l’interface d’administration Django.

Objectifs du projet

Le projet consiste à améliorer une application Django existante sans modifier son apparence ni ses fonctionnalités principales.

Les objectifs techniques sont les suivants :

  • remplacer l’architecture monolithique par une architecture modulaire ;

  • séparer les fonctionnalités dans les applications lettings et profiles ;

  • migrer les données existantes avec les migrations Django ;

  • améliorer la qualité du code avec le linting, les tests et les docstrings ;

  • atteindre une couverture de tests supérieure à 80 % ;

  • intégrer Sentry pour la surveillance des erreurs et des logs ;

  • conteneuriser l’application avec Docker ;

  • mettre en place un pipeline CI/CD avec GitHub Actions ;

  • publier l’image de production sur Docker Hub ;

  • déployer l’application sur Render ;

  • publier la documentation technique avec Sphinx et Read the Docs.

Architecture fonctionnelle

L’application est organisée autour de trois composants principaux :

oc_lettings_site

Contient la configuration générale du projet, la page d’accueil et les pages d’erreur personnalisées.

lettings

Gère les adresses et les locations immobilières.

profiles

Gère les profils associés aux utilisateurs Django.

Application en production

L’application est accessible à l’adresse suivante :

https://oc-lettings-47nw.onrender.com