Back to Projects

Student Management System V2.0

Handles 10k+ student records, <50ms query time

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.

Java 25JDBCMySQLH2 DatabaseHikariCPJUnit 5SLF4J

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