tp

Project Portfolio Page

Overview

ExchangeCourseMapper is a Command Line Interface (CLI) tool that helps NUS students plan their course mapping for Student Exchange Programs (SEP).

Summary of Contributions

Code Contributed

You can view my code contributions on the tP Code Dashboard here.

Enhancements Implemented

  1. ListCommandsCommand
    • Implemented the ListCommandsCommand class to provide users with an accessible list of all available commands. This command enhances usability, particularly for new users who want an overview of possible actions within the application.
  2. ListPersonalTrackerCommand
    • Developed the ListPersonalTrackerCommand to help users view their personal list of mapped courses. This command lists all courses that the user has added to their personal tracker, indexed for easy reference.
    • Enhanced user experience by displaying each course in a readable format, along with descriptive headers and line separators.
  3. CompareMappedCommand
    • Created the CompareMappedCommand to allow users to compare course mappings between two selected universities. This command filters modules by university, identifies common and unique course codes, and displays comparison results.
    • Implementing this involved handling complex filtering and set operations to ensure accurate, user-friendly outputs.
  4. Storage Class
    • Developed the Storage class to handle the storage and retrieval of mapped courses.
    • Implemented methods to save courses in JSON format and retrieve data from the myList.json file for persistent tracking. This class interacts with commands like the DeleteCoursesCommand, AddCoursesCommand, FindCoursesCommand, ListPersonalTrackerCommand, CompareMappedCommand to retrieve and store course information, ensuring data consistency across commands.
  5. DataIntegrityChecker
    • Designed the DataIntegrityChecker class to validate the integrity of data in myList.json, ensuring that only valid course data is stored.
    • Implemented methods to detect duplicate course entries, preventing users from adding duplicate mappings. This feature helps maintain accurate records for users and provides clear output about duplicates.

Contributions to the User Guide (UG)

Contributions to the Developer Guide (DG)

Contributions to Team-Based Tasks

Contributions Beyond the Project Team