Project Description =================== Refactoring ----------- The project undertakes significant improvements from its precursor, the Python-OC-Lettings-FR, which include: - **Refactoring for Technical Debt**: Key refactoring was performed to alleviate the technical debt, fostering a more maintainable and efficient codebase. - **Linting Error Resolution**: Adherence to coding standards was reinforced by resolving all linting errors. - **Admin Site Model Normalization**: Model names were normalized for pluralization consistency across the admin site. - **Introduction of Modular Architecture**: The application was split into three separate Django apps—`lettings`, `profiles`, and `home`—each encapsulating specific functionalities. - **Django Project Refactor**: `oc_lettings_site` was converted into a full-fledged Django project to enhance the organizational structure. - **Comprehensive Testing Suite**: A new suite of tests was created to ensure the reliability and stability of code changes. CI/CD Pipeline Implementation ----------------------------- Automation of development processes has been achieved through a CI/CD pipeline, set up as follows: - **Build and Test**: With every new commit, a suite of linting checks and tests is executed. - **Docker Containerization**: Successful testing leads to the creation and pushing of a Docker image to DockerHub, this step being exclusive to the master branch. - **Application Deployment**: The final step in the pipeline is an automated deployment to Render, contingent on the successful Docker image push. Monitoring Solutions -------------------- Application performance and error tracking are maintained vigilantly with the use of Sentry, ensuring high reliability and swift issue mitigation.