Back to Portfolio
Learning Lab

Personal Projects

A space where I experiment, learn new technologies, and build things from scratch. These projects go beyond my professional work — exploring DevOps, infrastructure, cloud deployments, and modern engineering practices.

1 Project
1 Live Deploy
AWS Cloud
Live #001

Expense Tracker

A full-stack personal finance web application built with Python & FastAPI, backed by MySQL and served through a Bootstrap 5 admin dashboard. Users can log in, track daily expenses across categories, and view monthly & yearly statistics — fully containerized with Docker and deployed to AWS EC2 via an automated GitHub Actions CI/CD pipeline.

Key Features

Session-based login / logout
Monthly & yearly stats
Add, Edit, Delete expenses
7 expense categories
Responsive Bootstrap 5 UI
MySQL 8 database

CI/CD Pipeline

Push to main
Build image
Push to Hub
Deploy EC2

What Was Built

  • FastAPI backend with full CRUD routes
  • Session-based auth with bcrypt hashing
  • Jinja2 templates + Bootstrap 5 UI
  • MySQL schema with Pydantic models
  • Dockerfile written & image built
  • docker-compose.yml (local dev)
  • docker-compose.prod.yml (production)
  • Docker image pushed to Docker Hub
  • AWS EC2 instance launched & configured
  • GitHub Actions: build → push → SSH → deploy
  • Live on EC2 (Ubuntu 24.04, t3.micro)
Python FastAPI MySQL 8 Docker AWS EC2 GitHub Actions Bootstrap 5

Next Project

More learning projects coming soon. Stay tuned!

Technologies Explored

Python
Docker
AWS EC2
GitHub Actions
CI/CD
Linux / SSH
FastAPI
MySQL
Bootstrap 5