Build a Backend REST API with Python & Django - Advanced
What you'll learn
- Setting up a local development server with Docker
- Writing a Python project using Test Driven Development
- Building a REST API with advanced features such as uploading and viewing images
- Creating a backend that can be used a base for your future projects or MVP
- Hands on experience applying best practice principles such as PEP-8 and unit tests
- Configure Travis-CI to automate code checks
Requirements
- Basic knowledge of programming and building simple applications
- Familiar with Django
- Comfortable using command line tools (Terminal/Command Prompt)
- macOS, Linux or Windows machine capable of running Docker (This excludes Windows 10 Home)
- Positive attitude and willingness to learn!
Description
Welcome to the advanced course on how to Build a Backend REST API using Python, Django (3.2), Django REST Framework (3.12), Docker, GitHub Actions, Postgres and Test Driven Development!
Whether you’re a freelance programmer, tech entrepreneur, or just starting out building backends - this course will help lay the foundation of your knowledge base and give you the tools to advance your skills with some of the most in-demand programming languages today.
APIs are the unsung heroes behind the technologies that we all love and use religiously.
One of the most critical components for any tech-based business is an API. So knowing how to create an API from start to finish is a vital skill to have as a developer. You cannot build a successful app without a backend REST API!
In this course I’ll show you how to build an advanced API that handles creating and updating user profiles, changing passwords, creating objects, uploading images, filtering and searching objects, and more.
The best way to learn anything is to do it. So the practical application of the course -- the project that you’ll build along side me -- is an API. A recipe API, to be specific.
You will learn how to build an advanced recipe API that allows you to upload and store some of your favourite recipes from photos and the web.
You’ll learn how to 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 course you will have built a fully functioning REST API that can handle:
User authentication
Creating objects
Filtering and sorting objects
Uploading and viewing images
You’ll also learn, in detail how to:
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
This course has one singular focus: To teach you how to create an advanced API from start to finish using best practice principles and Test Driven Development.
This course is NOT FOR YOU:
If you’re looking for a course to build an API, a front end, and deployment
If you’re looking to build 10 different apps in one course
If you want to learn lots of different technologies and approaches to app development in general
This is a hands-on course, with a bit of theory and lots of opportunities to test your knowledge.
The content is challenging but rewarding. Ready for it? Let’s dive in!
**PLEASE NOTE: You cannot run Docker on Windows 10 Home edition. This is because Windows 10 Pro or Enterprise is required in order to use Hyper-V which Docker uses for virtualization. To take this course you have two options. These are covered in Lecture 6, which is free to preview before purchasing the course.
Who this course is for:
- Intermediate programmers who already have some understanding of Python and want to skill up
- Developers proficient in other languages but looking to add Python to their toolkit
Featured review
Instructors
Hey, I’m Mark! I’m an award-winning full-stack software engineer with a passion for learning and teaching new technologies.
This passion started at 12-years-old when I taught myself how to make Windows batch scripts. Little did I know that hacking around on my computer back then would turn into a life-long passion for programming.
I went on to complete a degree in Computer Systems Networking at Nottingham Trent University, and worked in various developer roles at multinational corporations and startups.
I always believed that the final step to learning is teaching. And so I started a software development blog and consultancy firm called London App Developer. My work has been featured in the Daily Mail, Mashable, TechCrunch, the Huffington Post, the Mirror and Gizmodo, and over 30,000 developers read my programming tutorials every month.
My goal for teaching on Udemy is to help developers make a better living through their code. Whether that’s by building new systems and tools to make the world a better place, or just to make their lives easier. If I can help them to increase their earning power, so they can better support their communities and loved ones, then even better. :)
My specialities are Python, Django, JavaScript, HTML5 and CSS3, but because I’m full-stack, I can work my way around most programming languages and frameworks.
I live in London, England with my wife and business partner, Brooke.
Hi! I'm Brooke. I'm a digital marketing professional with an expertise in social media, branding and content strategy. I'm also one half of a London-based software consultancy firm (and blog) called London App Developer. We make training guides and courses for the developer community. :)
After earning a MA in Communication from the University of Ottawa, I moved to London, England to start a career in journalism, PR and social media. After a short time in this city, I moved into education and technology, and the two have been a passion of mine ever since.
I've worked for struggling start-ups and billion-dollar companies. My experience has been diverse. But each role and project has given me a unique perspective on how to connect and develop long-term, meaningful relationships with customers to drive sales and growth for brands and business.
Though not a developer by trade - I am in business/married to one! My role on Udemy right now is to help support the delivery of our first course called BUILD YOUR BACKEND USING PYTHON & DJANGO REST FRAMEWORK. We hope you enjoy it.
-Brooke