Master Django REST Framework with Docker,Dev to Production
What you'll learn
- You will learn how to use Docker with Celery, Redis, RabbitMQ, Flower with Django REST Framework
- You will learn how to use Reverse Proxies with NGINX and NGINX Proxy Manager
- You will learn how Secure an API with HTTPS with SSL Certificates from Letsencrypt
- You will be Introduced to API testing with Pytest using factories and fixtures
- You will learn how manage multiple Docker containers with Portainer
- You will learn how to use shell scripts to automate and monitor processes
- You will learn about UUID's (advantages and disadvantages) and how pseudo primary keys solve this.
- You will learn how to implement Asynchronous tasks with Celery and Redis
- You will learn how to Serve static and media files with Nginx and Whitenoise.
- You will learn how implement Asynchronous tasks monitoring with Flower
- You will learn how to work with Postgres within a Docker container, including how to perform backups using shell scripts.
- You will learn how to setup an Ubuntu server, running Django over a Domain name.
- You will learn how to use makefiles to make working with Docker easier.
- Python Test coverage
- Logging in Django
- Token Based Authentication
- Working with emails using Mailhog in development and Mailgun in production.
- This course is NOT for absolute beginners.
- This course is targeted at Python Developers with at least 6 months of web development experience or more
- It's preferable that you use a computer with any LINUX based operating system or MacOS. If not possible, a windows machine will also work, but I have not tested the course material with a windows machine
- You should be familiar with the basic concepts surrounding shell scripts, Docker,API's and Django.
Hi, welcome to this course on building a production ready, detailed Django REST API, running on a web server powered by NGINX, on a custom domain name and served securely over HTTPS with SSL Certificates from letsencrypt.
This course is NOT for absolute beginners.
We shall achieve our goal by leveraging tools such as Docker, Celery, Redis, Rabbitmq, Flower, Nginx, Nginx Proxy manager, Portainer, shell scripts and more...
This course is targeted at those with AT LEAST 6 months of web development experience, but more is better. Before beginning, you should have some familiarity with the following concepts, in as much as I will try to explain everything.
The concepts we shall cover include:
Docker and running multiple containers
Securing a Django REST API with HTTPS using SSL Certificates
REST APIs with Django and Django Rest Framework
Class Based and Function based views.
Asynchronous tasks with Celery, Redis and Rabbitmq
Asynchronous tasks monitoring with Flower
Introduction to API testing with Pytest using factories and fixtures.
Token based authentication
Working with email in development with Mailhog and in production with Mailgun
Python Test coverage
Serving static and media files with NGINX and whitenoise
Makefiles and how they make working with Docker easier.
and much much more...........
All this shall be covered step by step, so that you can leverage the skills you learn in this course to build even bigger and better applications at scale.
My Hope is that you shall gain immense value from this.
Who this course is for:
- Intermediate Python Developers curious about how to use Django REST Framework with shell scripts, Docker, Docker, Celery, Redis, Rabbitmq, Flower and Nginx. You will learn everything you need to know to combine these technologies in a production build by leveraging other tools such as Portainer, NGINX Proxy manager among others
- Intermediate Python Developers with at minimum 6 months of experience, more is better
I currently work Full-time as a Senior Software Engineering Manager and in my free time also started creating youtube tutorials