Full-Stack Django/EC2, React/S3, MySQL/RDS, CloudFront, Route53
This is a comprehensive full-stack tutorial!
We'll build a "To-Do List" app with a React frontend (using Vite) and
a Django Rest Framework backend in a virtual environment.
Transition from SQLite to MySQL, covering local setup and production deployment with AWS RDS.
This includes a brief intro to AWS, installing MySQL Community Server,
then installing and using MySQL Workbench for setup and management.
Then we'll be creating an AWS EC2 Ubuntu Instance, and deploying our Backend Django Project.
We will setup Nginx (as a Reverse Proxy Server) acting as the first point of contact for client requests, which will include SSL via Certbot and Let's Encrypt.
We'll also be implementing a Gunicorn Socket and Service (for our Python WSGI server).
I will walk you through creating an AWS S3 Bucket to host our React Frontend along with creating an AWS CloudFront Distribution (for handling HTTPS with Amazon Certificate Manager, caching, and content delivery from the S3 bucket).
We will be creating a Route 53 Hosted Zone and implementing a Custom Domain.
I will even show you how to transition your Nameservers to Route 53, from services like GoDaddy.
💻GitHub Repo (Completed Project)💻
https://github.com/thecodefarmerscrop/ToDo-Django-React-MySQL-RDS-EC2-S3
⏳ Timestamps ⏳
00:00 Introduction/What to Expect
02:19 Django – Create Project & App
09:47 Django – Models
10:55 Django – Serializers
12:45 Django – Views
14:08 Django – URL’s & Admin
16:36 Django – Migrations & API Testing
19:17 React – Create Project w/Vite
21:45 React – Create Component
32:58 React – CSS Modules
35:27 MySQL – Requirements
36:52 MySQL – Community Server (Install/Configure)
40:14 MySQL – Workbench (Install)
41:09 MySQL – Workbench (Connect/Create db)
42:23 MySQL – Django db Connectivity
44:45 MySQL – Django db (Testing)
46:26 Brief Intro to AWS
48:35 RDS – Create Instance
50:11 RDS – Connect to Django & Workbench
53:02 RDS – Testing
57:04 Host This App!
59:50 Django – Requirements
1:01:08 Django – Settings
1:03:24 Django – Component URL’s
1:04:21 Django – Publish to Github
1:05:44 EC2 – Create Instance & PEM Key Storage
1:09:40 EC2 – SSH Connect
1:12:26 EC2 – Package Installs & Github Clone
1:13:56 EC2 – Virtual Env. & Static Files
1:15:13 EC2 – Gunicorn
1:18:24 EC2 – Nginx
1:20:48 EC2 – Replace Django Proj. (As-Needed)
1:22:41 Route 53 – Hosted Zone/Change Nameservers
1:26:19 S3 Bucket – Creation & React Build Upload
1:28:06 CloudFront Distribution
1:34:00 S3 Bucket – Replace React Build (As-Needed)
1:36:41 Certbot SSL – Options Explained
1:38:23 Certbot SSL – Option 1 (HTTP-01 Challenge)
1:40:26 Certbot SSL – Remove Certbot & Certificate
1:42:24 Certbot SSL – Option 2 (DNS-01 Challenge)
1:48:19 Hosted App Testing