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
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