My Projects
A collection of backend applications and systems I've built, showcasing my expertise in Java, Spring Boot, and scalable architecture.
Smart Tailoring Management System
Production-ready web platform solving the disconnect between customers and local tailors. Built to streamline custom clothing orders with real-time notifications, location-based tailor discovery within 5km radius, and dynamic measurement profiles. Implements Repository + Service Layer architecture with CSRF protection, XSS prevention, and SQL injection defense. Features automated CI/CD pipeline and handles 50+ concurrent users with <2s page load times.
Problem
Local tailors struggle with digital presence while customers can't easily find nearby tailors or manage custom measurements
Solution
Full-featured booking platform with geolocation, secure authentication, measurement management, and automated deployment
Key Highlights
- •Repository + Service Layer pattern for clean architecture
- •CSRF, XSS, and SQL injection protection
- •CI/CD pipeline with automated deployments
- •Geolocation-based search with MapLibre GL
- •Comprehensive documentation with deployment guides
Tech Stack
Event-Driven System with Transactional Outbox
Advanced backend system implementing the Transactional Outbox Pattern to solve the dual-write problem in distributed systems. Guarantees 100% reliable event delivery between microservices with automatic retry logic. Handles 100+ events/minute with <1s latency using HikariCP connection pooling. Built to understand event-driven architecture and ensure data consistency across service boundaries without message loss.
Problem
Distributed systems face data inconsistency when writing to database and message queue simultaneously - if one fails, data becomes corrupted
Solution
Transactional Outbox Pattern ensures atomic writes to database, with separate processor reliably delivering events with state machine tracking
Key Highlights
- •Solves dual-write consistency problem
- •State machine: PENDING → PROCESSING → COMPLETED
- •Automatic retry with exponential backoff
- •Idempotent event processing
- •HikariCP for high-performance connection pooling
Tech Stack
Student Management System V2.0
Robust CLI application demonstrating evolution from JSON file storage to production-grade MySQL database. Built to understand database migration, connection pooling, and proper resource management. Implements clean layered architecture with Service-Repository pattern, HikariCP for connection pooling, and H2 in-memory database for fast integration testing. Features immutable Java Records for type safety and JVM shutdown hooks for graceful resource cleanup.
Problem
V1.0 used JSON file storage with data corruption risks and poor scalability - needed production-ready database solution with proper testing
Solution
Complete migration to MySQL with connection pooling, integration tests, and professional error handling without data loss
Key Highlights
- •Migrated from JSON to MySQL with zero data loss
- •H2 in-memory database for fast integration testing
- •Java Records for immutable, type-safe data models
- •Graceful shutdown with resource cleanup hooks
- •Repository pattern for clean data access
Tech Stack
Java Servlet MVC Auth System
Educational authentication system built from scratch to understand core servlet concepts without high-level frameworks like Spring Boot. Implements secure user registration and login with SHA-256 password hashing, session management, and backend validation. Follows strict MVC architecture with Servlets as Controllers, JSP as Views, and POJOs as Models. Uses SLF4J for production-grade logging instead of System.out.println. Demonstrates understanding of fundamental Java web development before framework abstraction.
Problem
Need to understand how authentication actually works at the servlet level before jumping to Spring Security abstractions
Solution
Built complete auth system from scratch with secure password hashing, session management, and MVC separation of concerns
Key Highlights
- •SHA-256 password hashing (no plaintext storage)
- •Strict MVC architecture without frameworks
- •Raw JDBC with prepared statements
- •Session-based authentication
- •Professional SLF4J logging
Tech Stack