1. Ensure You have docker install on your computer - you can visit the link on how to install (https://docs.docker.com/engine/install/) depending on your operating system 2. Clone the project on Github: with https or ssh from your terminal using your Terminal CLI on your machine - With SSH: => bash terminal and type the command ==== -$ git clone git@github.com:DanSam5K/chef-code-API.git - With HTTPS: => bash terminal and type the command ==== -$ git clone https://github.com/DanSam5K/chef-code-API.git 3. Cd into the clone directory on your editor or VSCode: chef-code-API - Create | .env | file and refer to the project on github via(https://github.com/DanSam5K/chef-code-API) and check the | |.env.sample| file to get the variable you can provide incase. - Build and Start containers with docker with docker command -$ docker-compose -f docker-compose-deploy.yml up --build -d - the port you specify docker will deploy the application to that port as specified it should be deployed to docker services proxy local port 80. - Open you browser to enter the specified URL: http://127.0.0.1/docs/ or http://localhost:80/docs. 4. Cd into the clone directory on your editor or VSCode: - Testing you can run the command to see all test and linter checks pass : -$ docker-compose run app sh -c "python manage.py test && flake8" 5. Also you can use the Django admin to create super user: - Create super user with this command -$ docker-compose run --rm app sh -c "python manage.py createsuperuser" - You can access the Django admin panel at - http://localhost:80/admin.
About
In this project I’ll build an advanced API that handles creating and updating user profiles, changing passwords, creating objects, uploading images, filtering and searching objects, and more. The project that I’ll build -- is an API. A recipe API, to be specific. Goal is to build an advanced recipe API that allows users to upload and store some of your favourite recipes from photos and the web. They can create objects i.e. recipes with titles, price points, cooking times, ingredients and tags like “comfort food”, “vegan” or “dessert”. Think of it as a virtual recipe box. By the end of this project I will have built a fully functioning REST API that can handle: User authentication Creating objects Filtering and sorting objects Uploading and viewing images I’ll also: Setup a project with Docker and Docker-Compose Configure GitHub Actions to automatically run linting and unit tests Write unit tests using the Django Test Framework Apply best practice principles including Test Driven Development Handle uploading media files with Django Customize the Django admin Configure a Postgres database