Project: Modmate
Table of Contents
- Introduction
- Contributions
- Project management:
- Enhancements to existing features:
- Documentation:
- Community:
- 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
andNusModsAPI
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
andNusModsAPI
utility classes.
- Documented the design and implementation of the
Community:
Tools:
- Setup and maintained Gradle-based build system and dependency management.