Skip to content

A hands-on DevOps project showcasing manual AWS EC2 deployment, Linux service management, DNS configuration, and custom domain hosting for a three-tier Expense App.

Notifications You must be signed in to change notification settings

abanoth1/expense-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1️⃣ What is this project about?

This project is a manual deployment of an Expense Tracking web application using AWS cloud services. The application follows a three-tier architecture consisting of a frontend, backend, and database, each running on a separate EC2 instance. The goal of this project was to understand how real-world applications are deployed and accessed in the cloud without using automation tools.

2️⃣ What did I do in this project?

Created separate EC2 instances for frontend, backend, and database services.

Manually installed and configured Nginx for the frontend.

Deployed a Node.js backend application and managed it using systemd.

Installed and secured MySQL database, including schema initialization.

Generated SSH key pairs using Bash and connected to EC2 instances using private keys.

Configured password-based and key-based authentication for server access.

Purchased a custom domain (daws86s.me) from Hostinger.

Configured DNS records using Amazon Route 53 to map the domain to the application.

Made the application accessible via a public domain instead of IP addresses.

3️⃣ What did I learn and what skills did I develop?

🔧 Technical Skills

AWS EC2 provisioning and management

Linux server administration

SSH key generation and secure access

Nginx reverse proxy configuration

Node.js service management using systemd

MySQL installation and schema management

DNS fundamentals and Route 53 configuration

🧠 Conceptual Learnings

Understanding three-tier architecture

How frontend, backend, and database layers communicate

Importance of DNS and domain management in production

Real-world troubleshooting without automation

4️⃣ What are the advantages and disadvantages of this project?

✅ Advantages

Strong understanding of cloud and Linux fundamentals

Full visibility into how each component works

Excellent learning experience for DevOps beginners

Easy to troubleshoot since everything is manually configured

Strong foundation before moving to automation tools

❌ Disadvantages

Manual setup is time-consuming

Not scalable for large or production-grade systems

Higher risk of human error

No automation, CI/CD, or Infrastructure as Code

Maintenance becomes difficult as infrastructure grows

About

A hands-on DevOps project showcasing manual AWS EC2 deployment, Linux service management, DNS configuration, and custom domain hosting for a three-tier Expense App.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published