CloudLearn is a cloud-focused online learning platform being developed with a 3-tier architecture on AWS. The project is designed to demonstrate practical cloud engineering concepts including application architecture, AWS networking, infrastructure as code, security, scalability, and high availability.
The primary goal of this project is to build and deploy a production-oriented application while maintaining a strong focus on AWS cloud infrastructure rather than application development alone.
The planned architecture follows a 3-tier model:
Users
│
▼
┌──────────────┐
│ Frontend │
│ Web Tier │
└──────┬───────┘
│
▼
┌──────────────┐
│ Backend │
│ Application │
│ Tier │
└──────┬───────┘
│
▼
┌──────────────┐
│ Database │
│ Tier │
└──────────────┘
AWS Infrastructure
VPC • Subnets • Security Groups
Load Balancer • EC2 • RDS • IAM
The final architecture will be designed to separate the presentation, application, and database layers while improving security, scalability, and availability.
The CloudLearn frontend has been developed using React + Vite.
Implemented pages and components include:
- Home page
- Courses page
- Course Details page
- Login page
- Registration page
- Dashboard
- Learning page
- Profile page
- Navigation bar
- Footer
- Reusable course cards
- Reusable section headers
- Responsive dark-themed UI
The frontend is being developed as the presentation layer of the future AWS 3-tier architecture.
The backend development phase has been started.
Current work includes:
- Backend project structure
- Node.js-based backend setup
- Express.js application structure
- API development foundation
- Backend integration planning with the frontend
- Authentication and database integration planned as part of the next development stages
The backend will act as the application tier between the frontend and database.
Terraform has been initialized for the project to manage AWS infrastructure as code.
Current status:
- Terraform project initialized
- Infrastructure directory established
- Terraform workflow introduced
- AWS infrastructure provisioning planned through Terraform
The infrastructure layer will progressively include AWS networking, compute, security, load balancing, and database resources.
The project is being designed with a strong AWS focus.
Planned infrastructure includes:
- Amazon VPC
- Public and private subnets
- Internet Gateway
- Route tables
- Security Groups
- Application Load Balancer
- Amazon EC2
- Amazon RDS
- IAM
- Availability Zones
- Auto Scaling
- CloudWatch monitoring
- Secure communication between application tiers
The infrastructure will be provisioned progressively using Terraform instead of relying entirely on manual AWS Console configuration.
Security is an important part of the architecture.
The project is planned around:
- IAM-based access control
- Least-privilege permissions
- Private subnets for backend/database resources where appropriate
- Security Groups for network-level access control
- Restricted inbound and outbound traffic
- Environment variables for application configuration
- Separation between public-facing and internal resources
Sensitive credentials and environment configuration will not be committed to the repository.
- React
- Vite
- JavaScript
- HTML
- CSS
- Node.js
- Express.js
- REST APIs
- Amazon Web Services (AWS)
- VPC
- EC2
- RDS
- IAM
- Application Load Balancer
- CloudWatch
- Terraform
- Git
- GitHub
- VS Code
- Linux
The project is being organized as a single repository:
cloudlearn-aws-3tier-platform/
│
├── cloudlearn-frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── ...
│
├── cloudlearn-backend/
│ ├── src/
│ ├── routes/
│ ├── controllers/
│ └── ...
│
├── infrastructure/
│ └── terraform/
│ ├── main.tf
│ ├── variables.tf
│ ├── outputs.tf
│ └── ...
│
├── docs/
│
├── README.md
└── .gitignore
The major objectives of CloudLearn are:
- Build a functional online learning platform.
- Implement a clean 3-tier application architecture.
- Design a secure AWS network using VPC and subnet segmentation.
- Deploy application components using AWS compute services.
- Implement a managed database architecture.
- Introduce load balancing and high availability.
- Automate AWS infrastructure using Terraform.
- Practice real-world Git and GitHub workflows.
- Understand cloud networking and infrastructure design through hands-on implementation.
- Build a production-oriented AWS project suitable for a cloud engineering portfolio.
CloudLearn is intentionally being developed with greater emphasis on cloud infrastructure and AWS architecture rather than focusing only on application development.
The application provides the workload, while AWS infrastructure demonstrates:
- Networking
- Security
- Compute
- Storage
- Database architecture
- Scalability
- Availability
- Infrastructure as Code
- Monitoring
This makes the project a practical demonstration of cloud engineering concepts.
The project follows a Git-based development workflow:
Development
↓
Local Testing
↓
Git Branch
↓
Commit
↓
GitHub
↓
Infrastructure / Application Deployment
↓
AWS
The repository is maintained as a single project containing the frontend, backend, and infrastructure components.
| Component | Status |
|---|---|
| Project Planning | ✅ Completed |
| Frontend Structure | ✅ Completed |
| Frontend UI | ✅ Initial Development Completed |
| Backend Setup | ✅ Started |
| Backend API | 🚧 Developing |
| Authentication | 🚧 Developing |
| Database Integration | 🚧 Developing |
| Terraform Initialization | ✅ Completed |
| AWS VPC | 🚧 Developing |
| AWS Subnet Architecture | 🚧 Developing |
| EC2 Deployment | ⏳ Planned |
| RDS | ⏳ Planned |
| Load Balancer | ⏳ Planned |
| High Availability | ⏳ Planned |
| Auto Scaling | ⏳ Planned |
| Monitoring | ⏳ Planned |
CloudLearn is currently in the developing phase.
The frontend foundation and initial backend development have been completed, while the application API, authentication, database integration, and AWS infrastructure are actively being developed.
The next major phase is focused on building the AWS 3-tier infrastructure using Terraform, including VPC networking, public/private subnet design, security groups, compute resources, database services, load balancing, and high-availability architecture.
The architecture and implementation will continue to evolve as additional AWS components are integrated into the project.
Primary Focus: Cloud Engineering / AWS Infrastructure
Secondary Focus: Backend Application Development and Infrastructure Automation
CloudLearn is being built as a hands-on project to demonstrate practical skills required for Cloud Engineer, Infrastructure Engineer, SRE, and Cloud Support roles.