Project: Modmate

Table of Contents

  1. Introduction
  2. Contributions
  3. Project management:
  4. Enhancements to existing features:
  5. Documentation:
  6. Community:
  7. Tools:

Introduction

Modmate is a command-line application that helps keep track of your timetables and modules at NUS. It is a very simple way to keep yourself always on track with your classes at NUS.


Contributions

Given below are my contributions to the project.

  • New Feature: Designed and integrated the HPPTUtil and NusModsAPI classes
    • What it does: Enables efficient, modular retrieval and formatting of data from the NUSMods public API, encapsulating network logic and result parsing.
    • Highlights: Modular and testable design, allowing future extensions such as caching or additional endpoints.

Project management:

  • Set up initial code templates and structure for commands and fetchers.
  • Wrote base logging utility (Logger) to ensure consistent and easily configurable log output across the application.

Enhancements to existing features:

  • Refactored internal command structure for improved extensibility and separation of concerns.
  • Improved error feedback to users when invalid module codes or commands are entered.

Documentation:

  • Developer Guide:
    • Documented the design and implementation of the viewmod command.
    • Included class diagrams and detailed descriptions of the HTTPUtil and NusModsAPI utility classes.

Community:

Tools:

  • Setup and maintained Gradle-based build system and dependency management.