← back to projects

/// project

Desktop Calendar

A calendar application built for the desktop in Java

  • Java
  • Swing
  • MVC
  • JUnit
  • TDD
  • OOP
  • Design Patterns
  • Low-level System Design
  • Architected a full-featured desktop calendar application in Java using the MVC pattern, cleanly separating UI (Swing), business logic, and data layers to maximize maintainability and extensibility.
  • Applied an Event-Bus pattern for loosely coupled, asynchronous communication between the View and Controller, eliminat- ing direct dependencies and making components independently testable.
  • Leveraged four Gang-of-Four design patterns — Command, Builder, Adapter, and Factory — to produce a modular, exten- sible codebase; each feature addition required zero changes to existing classes, demonstrating the Open/Closed Principle in practice.
  • Practiced strict Test-Driven Development with JUnit, writing tests before implementation across all core modules — reducing debugging time and cutting overall development time by 68%.
  • Produced UML Object and Class diagrams to formalize system design upfront, serving as shared reference artifacts that facilitated cross-team design reviews and onboarding.