Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Django Drf Project: Ecommerce Restful Api

Posted By: ELK1nG
Django Drf Project: Ecommerce Restful Api

Django Drf Project: Ecommerce Restful Api
Last updated 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.27 GB | Duration: 20h 27m

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

What you'll 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

Requirements

No Prior experience needed but would be advantageous

Knowledge of relational database principles would be advantageous

Having a computer would definitely be advantageous

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.

Overview

Section 1: Introduction

Lecture 1 Course Introduction

Lecture 2 Course Resources (Code/Documentation)

Section 2: Quick-Start Windows 10/11 Installation & Setup Guide

Lecture 3 Installing Python 3.9.5

Lecture 4 Installation and User Guide for Visual Studio Code

Lecture 5 Creating Virtual Environments

Section 3: Quick-Start MacOS Installation & Setup Guide

Lecture 6 Installing Python 3.9.5

Lecture 7 Installation and User Guide for Visual Studio Code

Lecture 8 Creating Virtual Environments

Section 4: [Optional Warm-up Orientation Exercise] - New Django Developers

Lecture 9 Preparing a new Virtual Environment

Lecture 10 Introducing the Python Package Index

Lecture 11 Installing the Django Framework

Lecture 12 Creating a new Django project

Lecture 13 Creating a new Django application

Lecture 14 Registering a new Django application

Lecture 15 Starting the Django Development Server

Lecture 16 Understanding the Django Request-Response Cycle

Lecture 17 Creating a unique URL pattern

Lecture 18 Writing our first Django view

Lecture 19 Creating a new HTML template

Lecture 20 Relating an HTML template to a view

Lecture 21 Installing a Django application from a requirements.txt file

Section 5: Ecommerce Inventory Database Design

Lecture 22 Preliminary Table List

Lecture 23 Multivalued Fields

Lecture 24 Table and Field Naming Conventions

Lecture 25 Keys

Lecture 26 Field Specifications

Lecture 27 Table Relationships

Section 6: Project Initiation

Lecture 28 Build: Starting a New Django Project

Lecture 29 Build: Configuring Multiple Settings Files

Lecture 30 Build: Generating a Secret Key

Lecture 31 Build: PIP Freeze recording installed packages

Lecture 32 Build: Configuring Environment Variables

Lecture 33 Build: DRF First Steps

Lecture 34 Testing: Pytest First Steps

Lecture 35 Source Control: Creating a new GitHub Repository

Lecture 36 VSCode: Python VSCode Extensions

Lecture 37 Formatting: Black Configuration

Lecture 38 Linting: Flake8 Configuration

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

Lecture 39 Source Control: Creating a New GitHub Branch

Lecture 40 Build: Create and Register the Product App

Lecture 41 Build: Building the Category Product and Brand Table

Lecture 42 Build: Creating the Category Serializer

Lecture 43 Build: Define a Category Viewset

Lecture 44 Build: Implementing Django DRF Router

Lecture 45 Build: API Documentation with drf-spectacular Schema Generation and Swagger

Lecture 46 Build: Implementing Brand

Lecture 47 Build: Implementing Product

Lecture 48 Testing: Coverage HTML Reporting

Lecture 49 Introducing Unit and End-to-End Testing

Lecture 50 Introducing What to Test in Django

Lecture 51 Testing: Model Factories

Lecture 52 Testing: APIClient End-to-End Testing

Lecture 53 Source Control: Create a New Commit

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

Lecture 54 Source Control: Merging a GitHub Branch

Lecture 55 Source Control: Creating a New GitHub Branch

Lecture 56 Build: Implementing the Product-Line Model

Lecture 57 Build: Product-Line Serializer

Lecture 58 9.6. Analysis: User Stories

Lecture 59 Build: Category Filter with Extra Actions

Lecture 60 Build: Filter Return Single Product

Lecture 61 Build: Editing Multiple Models in the Django Admin Site

Lecture 62 Build: Handling Reverse Relationships in Serializers

Lecture 63 Build: Serializer Field Name Mapping and Flattening

Lecture 64 Performance: Multiple Queries, Towards Eliminating the N+1 Query Problem

Lecture 65 Build: Creating Custom Managers and QuerySet Methods

Lecture 66 Build: Custom Field Ordered List

Lecture 67 Testing: Pytest Adopts and Common Commands

Lecture 68 Testing: Model Clean Method

Lecture 69 Testing: APIClient End-to-End Testing

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

Lecture 70 Source Control: Merging a GitHub Branch

Lecture 71 Source Control: Creating a New GitHub Branch

Lecture 72 Build: Implementing the Product Image Model

Lecture 73 Build: Admin Site Reverse Link Inline URLs

Lecture 74 Build: Product Image Serializer

Lecture 75 Performance: Multiple Queries, Towards Eliminating the N+1 Query Problem

Lecture 76 Testing: Product Image Factory

Lecture 77 Testing: Product Image Models

Section 10: Dev-v1.0.4: Product App – Product Attributes

Lecture 78 Source Control: Merging a GitHub Branch

Lecture 79 Source Control: Creating a New GitHub Branch

Lecture 80 Build: Implementing the Attribute Models

Lecture 81 Build: Admin Site Attribute Inline Reverse ManytoMany

Lecture 82 Build: Product Attribute Serializer

Lecture 83 Design: Product Types and Type Attributes

Lecture 84 Build: Implementing the Product Type Tables

Lecture 85 Build: Admin Site Product Type Inline

Lecture 86 Build: Customizing the Serialization Output

Lecture 87 Build: Product Attribute Validation

Lecture 88 Performance: Product Attribute Query

Lecture 89 Build: Custom Field with SerializerMethodField

Lecture 90 Testing: Handling Test Failures

Lecture 91 Testing: Factory Boy Many-to-Many Relationships

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

Lecture 92 Source Control: Merging a GitHub Branch

Lecture 93 Source Control: Creating a New GitHub Branch

Lecture 94 Design: Implementing Database Structure Changes

Lecture 95 Design: Category Table Specification

Lecture 96 Build: Category Table Iteration

Lecture 97 Testing: Category Testing Iteration

Lecture 98 Build: Brand Table Removal

Lecture 99 Design: Product Table Specification

Lecture 100 Build: Product Table Iteration

Lecture 101 Testing: Product Table Iteration

Lecture 102 Design: Product Line Table Specification

Lecture 103 Build: Product Line Table Iteration

Lecture 104 Testing: Product Line Testing Iteration

Lecture 105 Build: Product Image Iteration

Lecture 106 Testing: Product Image Testing Iteration

Lecture 107 Design: Product Type Table Specification

Lecture 108 Build: Product Type Table Iteration

Lecture 109 Testing: Product Type Testing Iteration

Lecture 110 Design: Attribute Table Specification

Lecture 111 Build: Attribute Table Iteration

Lecture 112 Testing: Attribute Testing Iteration

Lecture 113 Design: Attribute Value Table Specification

Lecture 114 Build: Attribute Value Table Iteration

Lecture 115 Testing: Attribute Value Testing Iteration

Section 12: Dev-v1.0.6: Product App – Admin Iteration

Lecture 116 Source Control: Merging a GitHub Branch

Lecture 117 Source Control: Creating a New GitHub Branch

Lecture 118 Build: Reactivate Admin Interface

Lecture 119 Build: Product Attributes Inline

Section 13: Dev-v1.0.7: Product App – Endpoints Iteration

Lecture 120 Source Control: Merging a GitHub Branch

Lecture 121 Source Control: Creating a New GitHub Branch

Lecture 122 Design: Reviewing API Endpoints

Lecture 123 Build: Endpoint – All Categories

Lecture 124 Build: Endpoint – All Products by Category

Lecture 125 Test: Endpoint – All Products by Category

Lecture 126 Performance: Product by Category

Lecture 127 Build: Endpoint – Single Product

Lecture 128 Test: Endpoint – Single Product

Lecture 129 Build: Code Refactoring

Beginners, Developers, Students, and Enthusiasts new to Django or the Django Rest Framework,evelopers, Students, and Enthusiasts looking to learn the Django Rest Framework