16. Live Project: Building a Reels App with EC2, S3 and RDS
Chala mitrano, aaj ha book cha sarvaat maja cha divas aahe! Aattaparyant aapan tukde shikle – networking, Linux, Nginx, PHP, MySQL, domain, HTTPS, S3, RDS. Aaj he sagle tukde jodun ek khara, chalnara project banvuya: Mitrano Reels – Instagram reels sarkha app. Users account banvtat, video kiwa text post upload kartat, aani feed madhe varun khali swipe karun reels baghtat. Videos S3 madhe, data RDS madhe, code EC2 var Nginx + PHP-FPM madhe, aani AWS la bolnyasathi access key nahi – IAM role. Pratyek file cha purna code dila aahe aani to php -l ne check kelela aahe. Ghabru naka, ek ek step ne jaauya – shevti tumchya domain var HTTPS sobat app live asel!
What you will learn in this chapter
- Designing a real three-tier app on AWS: EC2 (web), S3 (media), RDS (data)
- Preparing the S3 bucket, the IAM role and the RDS database for the app
- Installing LEMP, Composer and the AWS SDK for PHP on EC2
- Writing the complete app: schema, config, accounts, upload, feed API, likes and the reel UI
- Deploying with Nginx and PHP-FPM, checking every file with
php -l - Adding a domain and HTTPS, testing, troubleshooting and a security checklist
Concepts in this chapter
- 16.1Project Overview and Architecture
- 16.2AWS Setup: S3 Bucket, IAM Role and RDS
- 16.3Server Setup: LEMP, Composer and the AWS SDK for PHP
- 16.4Database Schema
- 16.5Configuration and Shared Code
- 16.6Accounts: Register, Login and Logout
- 16.7Uploading Videos and Text Posts
- 16.8The Feed API and Likes
- 16.9The Reel UI: HTML, CSS and JavaScript
- 16.10Deployment: Nginx, PHP Settings and Going Live
- 16.11Domain and HTTPS
- 16.12Testing and Troubleshooting
- 16.13Security Checklist: The Target You Will Secure
The chapter recap is at the end of the last concept page.