Companies Home Search Profile

Build a Backend REST API with Python & Django - Advanced

Focused View

Mark Winterbottom,Brooke Rutherford

22:50:52

16 View
  • 001 Technical requirements.mp4
    01:08
  • 002 API details & Upgrades.mp4
    01:55
  • 003 Course structure.mp4
    01:53
  • 004 Getting help.mp4
    05:16
  • external-links.txt
  • 001 App overview.mp4
    04:09
  • 002 Technologies.mp4
    02:28
  • 003 Django project structure.mp4
    01:03
  • 001 What is Test Driven Development.mp4
    03:24
  • 001 What to install.mp4
    00:54
  • 002 Setup confirmation [Follow Along].mp4
    01:35
  • external-links.txt
  • 001 New project overview.mp4
    06:26
  • 002 Create GitHub project [Follow Along].mp4
    05:27
  • 003 Docker and Django.mp4
    04:25
  • 004 Define Python requirements [Follow Along].mp4
    03:46
  • 005 Create project Dockerfile [Follow Along].mp4
    17:47
  • 006 Create Docker Compose configuration [Follow Along].mp4
    04:03
  • 007 Linting and Tests.mp4
    03:04
  • 008 Configure flake8 [Follow Along].mp4
    10:04
  • 009 Create Django project [Follow Along].mp4
    02:39
  • 010 Run project with Docker Compose [Follow Along].mp4
    01:58
  • 011 Project setup overview.mp4
    01:03
  • external-links.txt
  • 001 What is GitHub Actions.mp4
    02:30
  • 002 Configuring GitHub Actions.mp4
    04:09
  • 003 Create GitHub Actions config [Follow Along].mp4
    11:15
  • 004 Configure Docker Hub Credentials [Follow Along].mp4
    06:15
  • 005 Test GitHub Actions [Follow Along].mp4
    06:49
  • external-links.txt
  • 001 Testing in Django.mp4
    07:44
  • 002 Write a test [Follow Along].mp4
    05:35
  • 003 Write a test using TDD [Follow Along].mp4
    03:54
  • 004 Mocking.mp4
    04:23
  • 005 Testing web requests.mp4
    02:25
  • 006 Common testing problems.mp4
    03:53
  • external-links.txt
  • 001 Database architecture overview.mp4
    04:51
  • 002 Add database service [Follow Along].mp4
    06:47
  • 003 Database configuration with Django.mp4
    08:13
  • 004 Install PostgreSQL database adaptor [Follow Along].mp4
    05:30
  • 005 Configure database in Django [Follow Along].mp4
    02:53
  • 006 Fixing database race condition.mp4
    06:27
  • 007 Create core app [Follow Along].mp4
    02:05
  • 008 Write tests for wait for db command [Follow Along].mp4
    19:45
  • 009 Add wait for db command [Follow Along].mp4
    09:15
  • 010 Database migrations.mp4
    07:54
  • 011 Update Docker Compose and CICD [Follow Along].mp4
    04:21
  • 012 Summary.mp4
    00:57
  • external-links.txt
  • 001 The Django user model.mp4
    05:16
  • 002 Design custom user model.mp4
    02:08
  • 003 Add user model tests [Follow Along].mp4
    07:01
  • 004 Implement user model [Follow Along].mp4
    17:27
  • 005 Normalize email addresses [Follow Along].mp4
    06:10
  • 006 Require email input [Follow Along].mp4
    02:51
  • 007 Add superuser support [Follow Along].mp4
    04:29
  • 008 Test user model [Follow Along].mp4
    02:40
  • 009 Summary of Create User Model.mp4
    00:24
  • external-links.txt
  • 001 Django admin overview.mp4
    04:00
  • 002 Write tests for listing users [Follow Along].mp4
    07:59
  • 003 Make Django admin list users [Follow Along].mp4
    05:16
  • 004 Support modifying users [Follow Along].mp4
    08:20
  • 005 Support creating users [Follow Along].mp4
    05:15
  • external-links.txt
  • 001 Importance of API documentation.mp4
    04:34
  • 002 Auto docs with DRF.mp4
    06:11
  • 003 Install drf-spectacular [Follow Along].mp4
    03:51
  • 004 Configure URLs [Follow Along].mp4
    03:32
  • 005 Test Swagger UI [Follow Along].mp4
    01:49
  • 006 Summary.mp4
    00:27
  • external-links.txt
  • 001 User API design.mp4
    02:03
  • 002 Create user app [Follow Along].mp4
    02:13
  • 003 Write tests for create user API [Follow Along].mp4
    14:03
  • 004 Implement create user API [Follow Along].mp4
    13:47
  • 005 Authentication.mp4
    07:59
  • 006 Write tests for token API [Follow Along].mp4
    07:11
  • 007 Implement token API [Follow Along].mp4
    13:49
  • 008 Write tests for manage user API [Follow Along].mp4
    10:11
  • 009 Implement manage user API [Follow Along].mp4
    09:20
  • 010 Review user API in browser [Follow Along].mp4
    07:00
  • 011 Summary.mp4
    00:53
  • external-links.txt
  • 001 Recipe API design.mp4
    01:54
  • 002 APIView vs Viewsets.mp4
    03:59
  • 003 Write test for recipe model [Follow Along].mp4
    05:57
  • 004 Implement recipe model [Follow Along].mp4
    09:13
  • 005 Create recipe app [Follow Along].mp4
    01:30
  • 006 Write tests for listing recipes [Follow Along].mp4
    16:26
  • 007 Implement recipe listing API [Follow Along].mp4
    11:53
  • 008 Write tests for recipe detail API [Follow Along].mp4
    04:03
  • 009 Implement recipe detail API [Follow Along].mp4
    06:26
  • 010 Write tests for creating recipes [Follow Along].mp4
    06:11
  • 011 Implement create recipe API [Follow Along].mp4
    02:31
  • 012 Add additional tests [Follow Along].mp4
    16:07
  • 013 Review recipe API in browser [Follow Along].mp4
    08:34
  • 014 Summary.mp4
    00:25
  • external-links.txt
  • 001 Tags API design.mp4
    01:27
  • 002 Add tag model [Follow Along].mp4
    07:14
  • 003 Write tests for listing tags [Follow Along].mp4
    14:01
  • 004 Implement tag listing API [Follow Along].mp4
    07:28
  • 005 Write tests for updating tags [Follow Along].mp4
    04:15
  • 006 Implement update tag API [Follow Along].mp4
    01:45
  • 007 Write tests for deleting tags [Follow Along].mp4
    02:38
  • 008 Implement delete tag API [Follow Along].mp4
    01:12
  • 009 Nested serializers.mp4
    02:16
  • 010 Write tests for creating tags [Follow Along].mp4
    11:40
  • 011 Implement create tag feature [Follow Along].mp4
    07:36
  • 012 Write tests for updating recipe tags [Follow Along].mp4
    09:56
  • 013 Implement update recipe tags feature [Follow Along].mp4
    07:04
  • 014 Review tags API in browser [Follow Along].mp4
    05:26
  • 015 Summary.mp4
    00:28
  • external-links.txt
  • 001 Ingredients API Design.mp4
    02:20
  • 002 Add ingredient model [Follow Along].mp4
    05:53
  • 003 Write tests for listing ingredients [Follow Along].mp4
    12:51
  • 004 Implement ingredient listing API [Follow Along].mp4
    06:32
  • 005 Write tests for updating ingredients [Follow Along].mp4
    04:05
  • 006 Implement update ingredient API [Follow Along].mp4
    01:31
  • 007 Write tests for deleting ingredients [Follow Along].mp4
    03:16
  • 008 Implement delete ingredient API [Follow Along].mp4
    00:50
  • 009 Write tests for creating ingredients [Follow Along].mp4
    11:44
  • 010 Implement create ingredients feature [Follow Along].mp4
    06:51
  • 011 Write tests for updating recipe ingredients [Follow Along].mp4
    10:04
  • 012 Implement update recipe ingredients feature [Follow Along].mp4
    02:29
  • 013 Refactoring.mp4
    01:27
  • 014 Refactor recipe views [Follow Along].mp4
    05:21
  • 015 Review ingredient API in browser [Follow Along].mp4
    05:12
  • 016 Summary.mp4
    00:36
  • external-links.txt
  • 001 Recipe image API design.mp4
    02:04
  • 002 Add image handling dependencies [Follow Along].mp4
    02:54
  • 003 Static files with Django and Docker.mp4
    08:11
  • 004 Configure project for static files [Follow Along].mp4
    08:50
  • 005 Modify recipe model [Follow Along].mp4
    10:11
  • 006 Write tests for uploading images [Follow Along].mp4
    12:30
  • 007 Implement image API [Follow Along].mp4
    10:08
  • 008 Review image uploading in browser [Follow Along].mp4
    05:27
  • 009 Summary.mp4
    00:24
  • external-links.txt
  • 001 Filtering design.mp4
    04:45
  • 002 Add tests for filtering recipes [Follow Along].mp4
    09:54
  • 003 Implement recipe filter feature [Follow Along].mp4
    12:22
  • 004 Add tests for filtering tags and ingredients [Follow Along].mp4
    13:25
  • 005 Implement tag and ingredient filtering [Follow Along].mp4
    05:38
  • 006 Review filtering in browser [Follow Along].mp4
    07:30
  • 007 Summary.mp4
    00:26
  • external-links.txt
  • 001 Deployment plan.mp4
    03:28
  • 002 Django deployment overview.mp4
    11:37
  • 003 Add uWSGI to project [Follow Along].mp4
    09:14
  • 004 Create proxy configs [Follow Along].mp4
    11:52
  • 005 Create proxy Dockerfile [Follow Along].mp4
    09:18
  • 006 Handling configuration.mp4
    01:41
  • 007 Create docker compose config [Follow Along].mp4
    08:38
  • 008 Update Django settings [Follow Along].mp4
    08:59
  • 009 Creating a virtual server.mp4
    03:16
  • 010 Create AWS account and user [Follow Along].mp4
    04:56
  • 011 Upload SSH Key to AWS [Follow Along].mp4
    04:29
  • 012 Create EC2 instance [Follow Along].mp4
    04:58
  • 013 Setup GitHub deploy key [Follow Along].mp4
    02:21
  • 014 Install Docker, Compose and Git [Follow Along].mp4
    03:14
  • 015 Clone and configure project [Follow Along].mp4
    03:19
  • 016 Run service [Follow Along].mp4
    02:50
  • 017 Updating service [Follow Along].mp4
    08:33
  • 018 Deployment summary.mp4
    00:38
  • external-links.txt
  • 001 Course overview.mp4
    00:50
  • 001 Upgrading to Django 4 [Follow Along].mp4
    04:12
  • external-links.txt
  • 001 Welcome to Build a Backend API with Django REST Framework - Advanced.mp4
    02:20
  • 002 Intro to the course.mp4
    02:24
  • 003 Course structure.mp4
    01:03
  • 004 How to get the most out of this course.mp4
    00:54
  • 005 How to get help.mp4
    01:25
  • 006 Windows 10 Home Workaround.html
  • external-links.txt
  • 001 Python.mp4
    00:48
  • 002 Django.mp4
    00:54
  • 003 Django REST Framework.mp4
    00:46
  • 004 Docker.mp4
    00:35
  • 005 Travis-CI.mp4
    00:43
  • 006 Postgres.mp4
    00:18
  • 007 What is test driven development.mp4
    04:00
  • external-links.txt
  • 001 System setup.html
  • 002 Windows 10 Home Workaround.html
  • 001 Setup new GitHub project.mp4
    02:50
  • 002 Add Dockerfile.mp4
    09:56
  • 003 Configure Docker Compose.mp4
    05:22
  • 004 Custom configuration for Linux users.html
  • 005 Create Django project.mp4
    02:56
  • external-links.txt
  • 001 UPDATE Use GitHub Actions instead.html
  • 002 (OLD, SKIP) Enable Travis-CI for project.mp4
    01:41
  • 003 (OLD, SKIP) Create Travis-CI configuration file.mp4
    07:15
  • 004 (OLD, SKIP) UPDATE Travis-CI Docker Pull Issue.html
  • external-links.txt
  • 001 Writing a simple unit test.mp4
    05:47
  • 002 Writing a unit test with TDD.mp4
    05:08
  • external-links.txt
  • 001 Create core app.mp4
    02:52
  • 002 Add tests for custom user model.mp4
    05:41
  • 003 Implement custom user model.mp4
    10:23
  • 004 Normalize email addresses.mp4
    03:25
  • 005 Add validation for email field.mp4
    02:36
  • 006 Add support for creating superusers.mp4
    05:20
  • external-links.txt
  • 001 Add tests for listing users in Django admin.mp4
    09:30
  • 002 Modify Django admin to list our custom user model.mp4
    02:27
  • 003 Modify Django admin to support changing user model.mp4
    07:48
  • 004 Modify Django admin to support creating users.mp4
    04:56
  • external-links.txt
  • 001 Add postgres to docker compose.mp4
    05:25
  • 002 Add postgres support to Dockerfile.mp4
    05:43
  • 003 Configure database in Django.mp4
    02:52
  • external-links.txt
  • 001 Mocking with unittests.mp4
    01:30
  • 002 Add tests for wait for db command.mp4
    11:43
  • 003 Add wait for db command.mp4
    07:31
  • 004 Make docker compose wait for db.mp4
    02:51
  • 005 UPDATE Make GitHub actions wait for db.html
  • 006 Test in browser.mp4
    03:01
  • external-links.txt
  • 001 Create users app.mp4
    03:29
  • 002 Add tests for create user API.mp4
    16:43
  • 003 Add create user API.mp4
    13:52
  • 004 UPDATE Fix for testing password too short.html
  • 005 Add tests for creating a new token.mp4
    10:39
  • 006 Add create token API.mp4
    13:53
  • 007 Add tests for manage user endpoint.mp4
    11:50
  • 008 Add manage user endpoint.mp4
    11:24
  • external-links.txt
  • 001 Create recipe app.mp4
    02:15
  • 002 Add tag model.mp4
    08:09
  • 003 Add tests for listing tags.mp4
    12:08
  • 004 Add feature to list tags.mp4
    12:12
  • 005 Add create tags feature.mp4
    07:07
  • external-links.txt
  • 001 Add ingredient model.mp4
    04:08
  • 002 Add tests for listing ingredients.mp4
    10:29
  • 003 Implement feature for listing ingredients.mp4
    05:04
  • 004 Implement feature for creating ingredients.mp4
    07:38
  • 005 Re-factor tags and ingredients viewsets.mp4
    07:04
  • external-links.txt
  • 001 Add recipe model.mp4
    12:50
  • 002 Add tests for listing recipes.mp4
    15:16
  • 003 Implement feature for listing recipes.mp4
    08:38
  • 004 Add tests for retrieving recipe detail.mp4
    09:12
  • 005 Implement feature for retrieving recipe detail.mp4
    07:06
  • 006 Add tests for creating recipes.mp4
    11:26
  • 007 Implement feature for creating recipes.mp4
    04:22
  • 008 Add tests for updating recipes.mp4
    09:42
  • external-links.txt
  • 001 Add Pillow requirement.mp4
    12:15
  • 002 Modify recipe model.mp4
    11:53
  • 003 Add tests for uploading image to recipe.mp4
    13:29
  • 004 Add feature to upload image.mp4
    11:17
  • external-links.txt
  • 001 Add tests for filtering recipes.mp4
    08:57
  • 002 Implement feature to filter recipes.mp4
    09:19
  • 003 Add tests for filtering tags and ingredients.mp4
    12:59
  • 004 Implement feature for filtering tags and ingredients.mp4
    06:31
  • external-links.txt
  • 001 What was covered in this course.mp4
    00:52
  • Description


    Create an advanced REST API with Python, Django REST Framework and Docker using Test Driven Development (TDD)

    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

    Who is this 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
  • What You Need to Know?


  • 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!
  • More details


    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

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Mark Winterbottom
    Mark Winterbottom
    Instructor's Courses
    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.
    Brooke Rutherford
    Brooke Rutherford
    Instructor's Courses
    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
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 228
    • duration 22:50:52
    • English subtitles has
    • Release Date 2024/01/31