Free Course Image Backend REST API

Free online courseBackend REST API

Duration of the online course: 5 hours and 24 minutes

5

StarStarStarStarStar

(9)

Launch your backend skills with a free REST API course: build Django endpoints, auth, permissions, and deploy to AWS to boost your developer profile.

In this free course, learn about

  • Set up a Python/Django dev environment with Git, Vagrant/VirtualBox, and virtualenv
  • Create and structure a Django project (SRC dir), manage dependencies via requirements.txt
  • Use Git fundamentals: .gitignore, staging/committing changes, and pushing code to GitHub
  • Understand Django models, custom user models/managers, migrations, and Django admin setup
  • Build REST APIs with DRF using APIViews, serializers, and CRUD (POST/PUT/PATCH/DELETE)
  • Use ViewSets, routers, and detail views; implement standard actions (create/retrieve/update/destroy)
  • Design a Profiles API with ModelViewSet and register endpoints via URL routing
  • Add authentication & permissions, token-based auth, and set headers (e.g., via ModHeader)
  • Implement search/filtering for profiles using DRF filters
  • Create a login API endpoint and use correct HTTP methods for authentication
  • Build a profile feed/status update API with models, serializers, permissions, and private access
  • Deploy Django to AWS EC2 using scripts/configs and uWSGI; configure allowed hosts and test

Course Description

Learn how to design and build a production-ready backend REST API with Python and Django REST Framework, using the same workflow and tools you will meet in real development teams. This free online course guides you from a clean project setup to an API that supports authentication, permissions, searching, and reliable data persistence, giving you a practical foundation to create services that power web and mobile apps.

You will start by preparing a professional development environment and version-controlled project, then move into Django fundamentals that matter most for backend work: configuring a project, managing dependencies, and working with database migrations. From there, you will focus on building APIs the right way, understanding how requests flow through URLs, views, and serializers, and how CRUD operations map to REST endpoints. Along the way, you will develop confidence working with HTTP methods and testing your endpoints as you iterate.

A key part of modern APIs is controlling access. You will implement token-based authentication, build permission rules that protect user data, and enforce secure behaviors for features like profile management and private feeds. You will also add practical enhancements such as search capabilities, so your API feels complete and usable in a real product.

Finally, you will connect your learning to deployment by preparing your application for an AWS environment. You will see how a backend is pushed to a remote repository, configured for server execution, and launched on an EC2 instance, bridging the gap between local development and an internet-accessible service. By the end, you will have the mindset and hands-on experience to build, secure, and deploy RESTful backends that are ready to support real users.

Course content

  • Video class: Build a Backend REST API with Python 01m
  • Exercise: What is the version of Django used in the updated course on Udemy?
  • Video class: 01 Introduction 01m
  • Video class: 02 How to take this course 01m
  • Video class: 03 Technologies used 05m
  • Video class: 04 Installing Git, VirtualBox, Vagrant, Atom and ModHeader 08m
  • Video class: 05 Creating a workspace 07m
  • Video class: 06 Creating a Git project 08m
  • Exercise: _What is a git ignore file and what is its purpose?
  • Video class: 07 Creating a Vagrantfile 02m
  • Video class: 08 Configuring our Vagrant Box 05m
  • Video class: 09 Running and connecting to our dev server 03m
  • Exercise: _What command do you use to start a Vagrant server?
  • Video class: 10 Running a hello world script 05m
  • Exercise: How do you run a HelloWorld script on a Vagrant server?
  • Video class: 11 Create Python Virtual Environment 06m
  • Video class: 12 Install required Python packages 03m
  • Exercise: _What is the name and version of the first Python package we need to install for our project?
  • Video class: 13 Create a new Django project 04m
  • Exercise: What is the purpose of creating the SRC directory in the Django project setup?
  • Video class: 14 Enable our app in the Django settings file 03m
  • Video class: 15 Saving our requirements 03m
  • Exercise: _What is the purpose of the requirements.txt file in a Python project?
  • Video class: 16 Test and commit our changes 05m
  • Video class: 17 What are Django models? 00m
  • Video class: 18 Create our user database model 15m
  • Exercise: _What is the purpose of creating a custom user model in Django?
  • Video class: 19 Add a user model manager 09m
  • Exercise: What is the first step to create a custom UserProfileManager in Django?
  • Video class: 20 Set our custom user model 01m
  • Video class: 21 Create migrations and sync DB 07m
  • Exercise: _What is the purpose of database migrations in Django?
  • Video class: 22 Creating a superuser 02m
  • Video class: 23 Enable Django Admin 02m
  • Video class: 24 Test Django Admin 03m
  • Exercise: _What is the command to start the development server for Django admin?
  • Video class: 25 What is an APIView? 03m
  • Video class: 26 Create first APIView 05m
  • Video class: 27 Configure view URLs 06m
  • Exercise: _What is the purpose of the URL dispatcher in Django?
  • Video class: 28 Testing our APIView 05m
  • Video class: 29 Create a serializer 03m
  • Video class: 30 Add POST method to APIView 08m
  • Exercise: _What is the purpose of adding the serializer to the API view in Django Rest Framework?
  • Video class: 31 Test POST function 02m
  • Video class: 32 Add PUT, PATCH and DELETE methods 04m
  • Video class: 33 Test the PUT, PATCH and DELETE methods 02m
  • Exercise: _What is the command to add all the new files that have been added to the project in Git?
  • Video class: 34 What is a ViewSet 02m
  • Video class: 35 Create a simple ViewSet 03m
  • Video class: 36 Add URL router 04m
  • Exercise: _What is the advantage of using a viewset over an API view in Django REST framework?
  • Video class: 37 Testing our ViewSet 02m
  • Video class: 38 Add create, retrieve, update, partial update and destroy functions 08m
  • Video class: 39 Test ViewSet 04m
  • Exercise: _What is a detail view in Django Rest Framework?
  • Video class: 40 Plan our profiles API 02m
  • Video class: 41 Create user profile serializer 08m
  • Video class: 42 Create profiles ViewSet 02m
  • Exercise: _What is the purpose of the model viewset in Django rest framework?
  • Video class: 43 Register profile ViewSet with the URL router 01m
  • Video class: 44 Test creating a profile 05m
  • Video class: 45 Create permission class 07m
  • Video class: 46 Add authentication and permissions to ViewSet 03m
  • Video class: 47 Test new permissions 02m
  • Video class: 48 Add search profiles feature 02m
  • Exercise: _What is the purpose of adding the rest framework filters module to the user profile viewset?
  • Video class: 49 Test searching profiles 03m
  • Video class: 50 Create login API ViewSet 05m
  • Video class: 51 Test login API 02m
  • Exercise: _What is the HTTP method that should be used to login to the API?
  • Video class: 52 Set token header using ModHeader extension 07m
  • Video class: 53 Plan profile feed API 01m
  • Video class: 54 Add new Model Item 05m
  • Exercise: _What is the purpose of the ProfileFeedItem model?
  • Video class: 55 Create and run model migration 02m
  • Video class: 56 Add profile feed model to admin 01m
  • Video class: 57 Create profile feed item serializer 03m
  • Exercise: _What is the reason for setting the user_profile field as read-only in the ProfileFeedItemSerializer?
  • Video class: 58 Create ViewSet for our profile feed item 04m
  • Video class: 59 Test Feed API 03m
  • Video class: 60 Add permissions for feed API 05m
  • Exercise: _What is the purpose of adding permissions to the user profile feed view set in this lesson?
  • Video class: 61 Test feed API permissions 04m
  • Video class: 62 Restrict viewing status updates to logged in users only 01m
  • Video class: 63 Test new private feed 02m
  • Exercise: _What happens when the authorization token is removed from the User Profile feed list in Google Chrome?
  • Video class: 64 Introduction to deploying our app to AWS 01m
  • Video class: 65 Pushing our project to GitHub 07m
  • Video class: 66 Add deployment script and configs to our project 08m
  • Exercise: _What is uWSGI and why do we need it to deploy our application on AWS?
  • Video class: 67 Create and launch an EC2 instance 08m
  • Video class: 68 Download and run server setup script 04m
  • Video class: 69 Create superuser and test server 04m
  • Exercise: _What is the reason for not installing virtualenvwrapper on a production server?
  • Video class: 70 Add domain to allowed list and push update 04m
  • Video class: 71 Test site on server 02m
  • Video class: 72 Course outro 02m

This free course includes:

5 hours and 24 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

Course comments: Backend REST API

UU

Ubaid Ullah

StarStarStarStarStar

excellent.

More free courses at Backend development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate