Django DRF Project: eCommerce RESTful API

Towards building and testing an eCommerce restful API with the Django Rest Framework

4.71 (68 reviews)
Udemy
platform
English
language
Web Development
category
instructor
Django DRF Project: eCommerce RESTful API
596
students
20.5 hours
content
Apr 2023
last update
$79.99
regular price

What you will learn

@ Phase 1 - Setup and initiate new Django and Django DRF application

Phase 1 - Design, Implement and iterate over a complex database schema

@ Phase 1 - Implement Routers Viewsets and Serializers to create API endpoints for client interactions

@ Phase 1 - Implement serializer customizations to customize data output

@ Phase 1 - Build unit and end-to-end tests to ensure the application works as intended

@ Phase 1 - Document the API endpoints to support frontend interactions

Description

Developing applications can be a fun and effective way of learning a language and framework. In this course, at phase 1, we start building and testing an eCommerce inventory RESTful API with DRF (Django Rest Framework).

This course is primarily designed for anyone looking for a learning journey building applications with the Django Rest Framework, developing, testing and documenting a RESTful API.

Currently, this course presents our first iteration of this course and phase 1 of the development process. This course will evolve and extend over time as we iterate on the content to maximise learning opportunities.

As presented in phase 1 of the course, we initiate the project and start building and testing the core functionality of the RESTful API application. In Phase 1, we learn the fundamentals of the Python Django Rest Framework, design a database, implement testing throughout the application and work towards building our first endpoints while also automatically documenting our efforts. By the end of phase 1, you will have learnt how to start a new Django DRF project and create routers, serializers and viewsets to enable clients to interact with your API. Throughout the development process, we learn how to test our application using Pytest and document our endpoints in preparation for front-end development using SwaggerUI.

We intend to extend the content of the course to eventually include deeper relevant content to aid further your understanding of the development process and techniques, deployment, and other associated technologies. Due to the scale of our courses we hope to bring to you our approach to building courses is a phased, iterative approach. Having time to reflect, analyse and seek feedback is essential to ensure that we develop courses that will ultimately meet the highest expectations.

I hope you enjoy the course.

Content

Introduction

Course Introduction
Course Resources (Code/Documentation)

Quick-Start Windows 10/11 Installation & Setup Guide

Installing Python 3.9.5
Installation and User Guide for Visual Studio Code
Creating Virtual Environments

Quick-Start MacOS Installation & Setup Guide

Installing Python 3.9.5
Installation and User Guide for Visual Studio Code
Creating Virtual Environments

[Optional Warm-up Orientation Exercise] - New Django Developers

Preparing a new Virtual Environment
Introducing the Python Package Index
Installing the Django Framework
Creating a new Django project
Creating a new Django application
Registering a new Django application
Starting the Django Development Server
Understanding the Django Request-Response Cycle
Creating a unique URL pattern
Writing our first Django view
Creating a new HTML template
Relating an HTML template to a view
Installing a Django application from a requirements.txt file

Ecommerce Inventory Database Design

Preliminary Table List
Multivalued Fields
Table and Field Naming Conventions
Keys
Field Specifications
Table Relationships

Project Initiation

Build: Starting a New Django Project
Build: Configuring Multiple Settings Files
Build: Generating a Secret Key
Build: PIP Freeze recording installed packages
Build: Configuring Environment Variables
Build: DRF First Steps
Testing: Pytest First Steps
Source Control: Creating a new GitHub Repository
VSCode: Python VSCode Extensions
Formatting: Black Configuration
Linting: Flake8 Configuration

Dev-v1.0.1: Product App – Product, Category and Brand

Source Control: Creating a New GitHub Branch
Build: Create and Register the Product App
Build: Building the Category Product and Brand Table
Build: Creating the Category Serializer
Build: Define a Category Viewset
Build: Implementing Django DRF Router
Build: API Documentation with drf-spectacular Schema Generation and Swagger
Build: Implementing Brand
Build: Implementing Product
Testing: Coverage HTML Reporting
Introducing Unit and End-to-End Testing
Introducing What to Test in Django
Testing: Model Factories
Testing: APIClient End-to-End Testing
Source Control: Create a New Commit

Dev-v1.0.2: Product App – Sub-Product Inventory

Source Control: Merging a GitHub Branch
Source Control: Creating a New GitHub Branch
Build: Implementing the Product-Line Model
Build: Product-Line Serializer
9.6. Analysis: User Stories
Build: Category Filter with Extra Actions
Build: Filter Return Single Product
Build: Editing Multiple Models in the Django Admin Site
Build: Handling Reverse Relationships in Serializers
Build: Serializer Field Name Mapping and Flattening
Performance: Multiple Queries, Towards Eliminating the N+1 Query Problem
Build: Creating Custom Managers and QuerySet Methods
Build: Custom Field Ordered List
Testing: Pytest Adopts and Common Commands
Testing: Model Clean Method
Testing: APIClient End-to-End Testing

Dev-v1.0.3: Product App – Sub-Product Media

Source Control: Merging a GitHub Branch
Source Control: Creating a New GitHub Branch
Build: Implementing the Product Image Model
Build: Admin Site Reverse Link Inline URLs
Build: Product Image Serializer
Performance: Multiple Queries, Towards Eliminating the N+1 Query Problem
Testing: Product Image Factory
Testing: Product Image Models

Dev-v1.0.4: Product App – Product Attributes

Source Control: Merging a GitHub Branch
Source Control: Creating a New GitHub Branch
Build: Implementing the Attribute Models
Build: Admin Site Attribute Inline Reverse ManytoMany
Build: Product Attribute Serializer
Design: Product Types and Type Attributes
Build: Implementing the Product Type Tables
Build: Admin Site Product Type Inline
Build: Customizing the Serialization Output
Build: Product Attribute Validation
Performance: Product Attribute Query
Build: Custom Field with SerializerMethodField
Testing: Handling Test Failures
Testing: Factory Boy Many-to-Many Relationships

Dev-v1.0.5: Product App – Model and Model Testing Iteration

Source Control: Merging a GitHub Branch
Source Control: Creating a New GitHub Branch
Design: Implementing Database Structure Changes
Design: Category Table Specification
Build: Category Table Iteration
Testing: Category Testing Iteration
Build: Brand Table Removal
Design: Product Table Specification
Build: Product Table Iteration
Testing: Product Table Iteration
Design: Product Line Table Specification
Build: Product Line Table Iteration
Testing: Product Line Testing Iteration
Build: Product Image Iteration
Testing: Product Image Testing Iteration
Design: Product Type Table Specification
Build: Product Type Table Iteration
Testing: Product Type Testing Iteration
Design: Attribute Table Specification
Build: Attribute Table Iteration
Testing: Attribute Testing Iteration
Design: Attribute Value Table Specification
Build: Attribute Value Table Iteration
Testing: Attribute Value Testing Iteration

Dev-v1.0.6: Product App – Admin Iteration

Source Control: Merging a GitHub Branch
Source Control: Creating a New GitHub Branch
Build: Reactivate Admin Interface
Build: Product Attributes Inline

Dev-v1.0.7: Product App – Endpoints Iteration

Source Control: Merging a GitHub Branch
Source Control: Creating a New GitHub Branch
Design: Reviewing API Endpoints
Build: Endpoint – All Categories
Build: Endpoint – All Products by Category
Test: Endpoint – All Products by Category
Performance: Product by Category
Test Your Knowledge
Build: Endpoint – Single Product
Exercise Introduction
Test: Endpoint – Single Product
Test Your Knowledge
Test: Endpoint – Single Product
Test Your Knowledge
Build: Code Refactoring

Reviews

Adi
January 17, 2023
Zander (from Very Academy) is the best teacher. I do really enjoy the way he teaches the basics of development and especially python and django. I was always struggling with backend until I found his tutorials. You are amazing and I reaaly understand the hard topics very well with your explanation. Thank you for this solid/complete course
Peter
January 13, 2023
You know I have been working on django for at least for five years, and I always had problems with deploying I ran into all sorts of issues and could not solve them, and I was delighted to see that you were setting up The deployment in the settings app, you have also covered getting the requirements to work when I am Downloading in the code. I am only halfway through the course and I haven't finished it, The way you are instructed us on how to use django is excellent, thank you very much. So just one more thing, I don't know if you've done this deliberately, you go Straight in to the admin and you haven't made migration, students would get confused if the did not know django If they did not understand django.
Paul
January 6, 2023
Zander from Very Academy always provides a thorough explanation with details to understand the topics and technologies he teaches. I will always take the courses produced by Very Academy based on my experience with them.

Charts

Price

Django DRF Project: eCommerce RESTful API - Price chart

Rating

Django DRF Project: eCommerce RESTful API - Ratings chart

Enrollment distribution

Django DRF Project: eCommerce RESTful API - Distribution chart

Related Topics

Refurb
Refurb

Notre nouveau site qui scanne en temps reel les prix sur Amazon Warehouse (FR)

> 40% reduction sur le prix initial
Comidoc
Comidoc

Want FREE online courses ? Our CHROME extension lists Udemy freebies in realtime !

Free
4958346
udemy ID
11/2/2022
course created date
1/4/2023
course indexed date
ANUBHAVJAIN
course submited by