Complete Django Banking Api: Build A Secure Fintech Platform

Posted By: ELK1nG

Complete Django Banking Api: Build A Secure Fintech Platform
Published 11/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.81 GB | Duration: 16h 12m

Master the art of building professional-grade Banking APIs using Django and modern best practices!

What you'll learn

You will learn how to use Docker with Celery, Redis,RabbitMQ, Flower with Django REST Framework

You will learn how to use Reverse Proxies and load balancing with NGINX

You will learn how Secure an API with HTTPS with SSL Certificates from Letsencrypt

You will learn how manage multiple Docker containers with Portainer in Production

You will learn how to use shell scripts to automate and monitor processes

You will learn how to implement Asynchronous tasks with Celery, Redis and RabbitMQ

You will learn how to Serve static files with Nginx

You will learn how to work with Postgres within a Docker container, including how to perform backups using shell scripts.

You will learn how to setup an Ubuntu server, running Django over a Domain name.

You will learn how to use makefiles to make working with Docker easier.

You will learn how to use Loguru for comprehensive Logging

Requirements

This course is NOT for absolute beginners.

This course is targeted at Python Developers with at least 1 year of web development experience or more

It's preferable that you use a computer with any LINUX based operating system or MacOS. If not possible, a windows machine will also work, but I have not tested the course material with a windows machine

You should be familiar with the basic concepts surrounding shell scripts, Docker,API's and Django.

Description

In this comprehensive course we shall learn the art of building a professional-grade Banking API using Django and modern best practices!You'll learn how to create a secure, scalable, and feature-rich banking system that handles everything from user authentication and KYC verification to real-time transactions, multi-currency support, creation of virtual cards, Fraud detection/suspicious transactions detection and automated PDF statement generation.You'll dive deep into industry-standard practices like implementing Two-Factor Authentication via otp, rate limiting, comprehensive logging, JWT auth via cookies, asynchronous task processing with Celery,Setting up reverse proxies via NGINX, API Documentation, email notifications, among many other practicesBy leveraging powerful tools like PostgreSQL, Redis, RabbitMQ, and Docker, you'll build a production-ready API that could serve as the backbone of a modern digital banking platform. Throughout the course, you'll gain hands-on experience with essential banking operations including deposits, withdrawals, and inter-account transfers, while implementing robust error handling and transaction logging by using popular  third party tools such as Loguru.Whether you're an aspiring FinTech developer or looking to level up your Django skills, this course will teach you how to architect and implement banking-grade security measures, handle financial transactions, and create maintainable, well-documented code that follows real-world banking protocols.

Overview

Section 1: Introduction

Lecture 1 What are you getting yourself Into?

Lecture 2 System Architecture

Lecture 3 Requirements

Lecture 4 Tech Tools/Technologies used in the course

Lecture 5 Social Media and Source code Links

Section 2: Project Setup

Lecture 6 Create working Directory & Virtual Environment

Lecture 7 Initialize Git

Lecture 8 Install Packages

Lecture 9 Setup Requirements and Settings

Lecture 10 Settings (Local.py)

Lecture 11 Configure other Django Params

Lecture 12 Local Apps

Section 3: Logging In Django

Lecture 13 Intro to Logging in Django

Lecture 14 Install and setup loguru

Lecture 15 Loguru Config Continuation

Section 4: Configure Django with Docker

Lecture 16 Dockerfile Config

Lecture 17 Entrypoint Shell Script

Lecture 18 Start Shell Script

Lecture 19 Postgres and Docker compose

Lecture 20 Run docker-compose config

Section 5: Using Makefiles

Lecture 21 How to setup Makefiles

Section 6: Configure Celery and Redis

Lecture 22 Email Templates & Config

Lecture 23 OTP Configuration

Lecture 24 Custom User Model Manager

Lecture 25 Custom User Model Part 1

Lecture 26 Custom User Model Part 2

Lecture 27 UserChange & UserCreation Admin Forms

Lecture 28 Customize UserAdmin

Lecture 29 Setup Drf Spectacular

Lecture 30 Theory of NGINX as reverse proxy/load balancer (Don’t skip)

Lecture 31 Custom Header Middleware

Lecture 32 NGINX Config

Lecture 33 NGINX Docker compose

Section 7: TimeStamped & Profile Models

Lecture 34 Celery & Redis Intro

Lecture 35 Install Celery Packages

Lecture 36 Configure Celery

Lecture 37 Docker-compose config(Celery, Redis, Rabbitmq)

Lecture 38 Flower and worker start scripts

Section 8: TimeStamped & Profile Models

Lecture 39 TimeStamped Common model

Lecture 40 Cloudinary Config

Lecture 41 Profile Model Part 1

Lecture 42 Profile Model Part 2

Lecture 43 Next of Kin Model

Lecture 44 Signals

Lecture 45 Profile Admin

Section 9: Authentication

Lecture 46 Token Based Authentication

Lecture 47 Setup Custom JWTAuthentication

Lecture 48 UserCreateSerializer

Lecture 49 Configure Djoser and RestFramework simplejwt

Lecture 50 Auth Views Part 1

Lecture 51 Auth Views Part 2

Lecture 52 URLS and Test JWT Endpoints

Lecture 53 Test JWT Endpoints Continued

Section 10: Profile Functionality Continued

Lecture 54 Generic JSON Renderer

Lecture 55 Profile Celery tasks

Lecture 56 Profile Serializer Part 1

Lecture 57 Profile Serializer Part 2

Lecture 58 User Permissions

Lecture 59 Profile Views Part 1

Lecture 60 Profile Views Part 2

Lecture 61 Profile Urls & Test API Endpoints

Section 11: Bank Account Verification

Lecture 62 Create Accounts App Part 1

Lecture 63 Create Accounts App Part 2

Lecture 64 Account Utils Part 1

Lecture 65 Account Utils part 2

Lecture 66 Account Utils & Amend Profile Model

Lecture 67 Amend Profile Serializer & Views

Lecture 68 Account created email template

Lecture 69 Account Emails

Lecture 70 Setup Bank Account Admin Page.

Lecture 71 Test bank account creation

Section 12: Bank Account Verification

Lecture 72 Account Fully Activated Email

Lecture 73 Account Verification Serializer

Lecture 74 Account Verification View

Lecture 75 Account Urls & Test API Endpoints

Section 13: Bank Deposits

Lecture 76 Deposit Serializer

Lecture 77 Deposit Confirmation Email Template

Lecture 78 Deposit View

Lecture 79 Deposit URLS and Test API Routes

Section 14: Bank Transaction Functionality

Lecture 80 Transactions Related Serializers

Lecture 81 Transaction Email Templates

Lecture 82 Transaction Emails

Lecture 83 Withdrawal Views Part 1

Lecture 84 Withdrawal Views Part 2

Lecture 85 Withdrawal urls & Test Endpoints

Lecture 86 Transfer view Part 1

Lecture 87 Transfer view Part 2

Lecture 88 Transactions urls & Test API Endpoints

Lecture 89 List all transactions

Lecture 90 Transactions urls & Test API Endpoints

Lecture 91 Transaction PDF Task Part 1

Lecture 92 Transaction PDF Task Part 2

Lecture 93 Transaction PDF Task Part 3

Lecture 94 Transaction PDF View

Lecture 95 Transaction PDF urls

Section 15: Virtual Cards

Lecture 96 Create the cards app

Lecture 97 Utility Functions

Lecture 98 Top up Card email template and Email Function

Lecture 99 Card Serializer

Lecture 100 Card Views Part 1

Lecture 101 Card Views Part 2

Lecture 102 Virtual card Admin & Urls

Lecture 103 Test API Endpoints

Section 16: Improvements to Our API

Lecture 104 Calculate interest on Savings account

Lecture 105 Daily Interest Task

Lecture 106 Setup Periodic task using celery beat

Lecture 107 Detect Suspicious Activity Email

Lecture 108 Suspicious Activity Task

Lecture 109 Add task to celery beat config

Section 17: How to create Postgres database backup when self hosting.

Lecture 110 Constants shell script

Lecture 111 Mesages shell script

Lecture 112 yes_no

Lecture 113 Create Backup Scripts

Lecture 114 Backups Script

Lecture 115 Database Restore Script

Lecture 116 Dockerfile Amendment

Intermediate Python Developers curious about how to use Django REST Framework with shell scripts, Docker, Docker, Celery, Redis, Rabbitmq, Flower and Nginx. You will learn everything you need to know to combine these technologies in a production build by leveraging other tools such as Portainer, NGINX Proxy manager among others,Intermediate Python Developers with at least 1 year of experience, more is better,Python Developers,curious about building a Fintech kind of API