drf_api

Building Python APIs with Django REST – A Library App


Build, test, document and Containerize a real-world API using Django REST Framework. Learn professional API development by creating a fully functional Library App from scratch.

Instructor: Samuel James

Categories: Fullstack, Backend, Intermediate

Course Duration: 231 mins

Sign up to Purchase - $197.41

Course Summary


Course Overview:

Building Python APIs with Django REST: A Library App

This course is designed to take your Python and Django skills to the next level by teaching you how to build professional, production-ready APIs using the Django REST Framework (DRF). Through a fully guided, project-based approach, you’ll create a real-world Library App that manages books and notes, complete with full CRUD functionality, robust testing, interactive API documentation, and deployment using Docker.

You’ll start by learning the core concepts of APIs and REST architecture, then dive into setting up your development environment using Docker and Poetry. From there, you'll build and connect Django models, serializers, and views to expose RESTful endpoints. You'll also explore advanced topics like pagination, filtering, and how to create clean, testable code.

By the end of the course, you’ll not only have a solid grasp of Django REST fundamentals, you’ll also understand how to test, document, and deploy your API just like professionals do in real-world teams.

What You’ll Learn

By completing this course, you will:

  • Understand the principles of REST APIs and how they are used in web development.

  • Compare major Python API frameworks (Flask, FastAPI, Django REST) and learn why Django REST is used here.

  • Set up a modern Python dev environment with Docker and Poetry.

  • Build and expose Django models and serializers through API endpoints.

  • Implement CRUD operations for books and notes in a structured Django REST project.

  • Add pagination and filtering to return structured, user-friendly API responses.

  • Write unit tests for models and views using Django’s testing framework.

  • Improve code quality with tools like flake8, black, and isort.

  • Generate interactive Swagger/OpenAPI documentation for your API.

  • Containerize and run your application using Docker and Docker Compose.

  • Complete a real-world capstone project ready to showcase in your portfolio.

🛠️ Who This Course Is For

  • Python developers looking to dive into backend API development.

  • Django users who want to expand into RESTful services.

  • Learners interested in real-world projects that include testing, documentation, and deployment.

  • Anyone preparing for a role involving full-stack or backend development.

🧰 Tech Stack Used in This Course

🐍 Programming Language

  • Python 3.10+

🌐 Web Framework

  • Django
  • Django REST Framework (DRF)

🧪 Testing Tools

  • Django's TestCase
  • unittest (built-in Python testing library)

📦 Package & Dependency Management

  • Poetry (pyproject.toml)

🧹 Code Quality & Formatting

  • flake8 – Linting
  • black – Code formatting
  • isort – Import sorting

🐳 Containerization & DevOps

  • Docker
  • Docker Compose
  • Gunicorn – WSGI HTTP server for deployment
  • Nginx – (Optional) for serving static files
  • Traefik - Reverse proxy

📄 Interactive Documentation

  • drf-yasg (for Swagger/OpenAPI docs)

💻 API Testing Tools

  • Swagger UI – For interactive API exploration
  • DRF Browsable API

Course Units


Understand what APIs are and why Django REST is the best fit for this course. Compare Flask, FastAPI, and Django REST, while learning the fundamentals of RESTful architecture.

You need to purchase this course to watch the videos.

Get hands-on with the project setup using Docker and Poetry. You'll explore the structure of a Django REST project and run the Library App locally for the first time.

You need to purchase this course to watch the videos.

Start building real endpoints. Learn how to define models, create serializers, implement views, and wire up URLs using Django REST Framework.

You need to purchase this course to watch the videos.

Enhance your API’s usability. Add pagination and filtering to return only the data users need, using Django REST’s powerful tools.

You need to purchase this course to watch the videos.

Ensure your API works as expected. Write unit tests for models and endpoints to confirm functionality and prevent regressions.

You need to purchase this course to watch the videos.

Clean code matters. Use tools like flake8, black, and isort to keep your codebase consistent and maintainable.

You need to purchase this course to watch the videos.

Add Swagger-style docs to your API. Learn to generate interactive documentation that developers can explore and test directly.

You need to purchase this course to watch the videos.

Automate like a pro. Containerize the Django app with Docker and set up a basic production-ready environment using Gunicorn and Nginx.

You need to purchase this course to watch the videos.

Bring it all together. Build a Book Inventory App API with models, endpoints, tests, filtering, docs, and deployment—all inside Docker. This capstone project showcases your full API development skillset.

You need to purchase this course to watch the videos.