About the project

About the company

Orange County Lettings is a start-up in the real estate rental industry with an online platform.

The project design and technologies

Technologies

  • The online platform is made with the Django web framework.

  • Its data is stored in a relational database sqlite.

  • The Python testing framework used for that project is pytest, coupled with coverage.

  • The log messages inserted in the code and Django’s errors messages are tracked and monitored by Sentry.

  • The chosen CI/CD platform to automate the build, test, and deployment is CircleCI.

  • Commits on master branch trigger build and push of a Docker image to the DockerHub registry.

  • The Docker image is then auto-deployed on the Render web service host.

  • The documentation is build with sphinx and deployed on ReadTheDocs.

More details

  • Read Development Guide to know more about the testing and the deployment process.

  • Read Internals to know more about technical aspects of the web application (models, URLs, etc.).

Quick-start

  1. git clone this repository:

    git clone https://github.com/nanakin/OC-P13-Django-CICD.git Django-CICD
    
  2. Move to the project directory:

    cd Django-CICD
    
  3. Install poetry (if not installed yet), by following the official documentation.

  4. Install project dependencies in a new virtual environment using poetry:

    poetry install
    
  5. Rename a .env.example file as .env:

    mv .env.example .env
    
  6. Edit the .env file to set the environment variables

  7. Apply database migrations:

    poetry run python manage.py migrate
    
  8. Collect static files (if your environment variable DEBUG is False):

    poetry run python manage.py collectstatic
    
  9. Run a development server locally:

    poetry run python manage.py runserver
    
  10. Open your browser and go to http://127.0.0.1:8000/ to see the application running.