EdRecord

EdRecord is a desktop app for managing student contacts, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you are a TA that can type fast, EdRecord can get your student contact management tasks done faster than traditional GUI apps.


  • Code Contributed
  • New Features Implemented
  • Enhancements implemented
  • User Guide
  • Developer Guide
  • Team-based tasks
  • Reviewing/Mentoring
  • Beyond the project

  • Code Contributed
  • New Features implemented
  • Make and Integrate ModuleSet
    • The ModuleSet component is the component for holding all the modules and classes for students. Furthermore, it is one of the main components in commands, such as RemoveCommand, MoveCommand and AddCommand
  • Enhancements implemented
  • Enable Info to be optional field
    • This allows the user to choose whether to specify Info, matching the behavior for Tags. Furthermore, the UI is configured to not display the Info field if Info is blank.
  • Bug fixing
    • 2.1 Fix module letter casing
    • 2.2 Fix allowing non-existent groups in AddCommand
  • Tests Creation
    • 3.1 Added tests for MakeGroupCommand
    • 3.2 Added tests for ModuleSet
  • Fix Bugs: 4.1 Standardize all modules to have upper letter casing 4.2 Fix bug where adding people with non-existent class 4.3 Fix bug where adding non-existent class gives incorrect message.
  • Validation: 5.1 Validate phone numbers
  • Refactoring work
    • 6.1 Refactor AB3 into EdRecord
    • 6.2 Refactor AddAssignment to MakeAssignment
    • 6.3 Refactor Address to Info
  • User Guide
  • Updated User Guide for v1.3
  • Developer Guide
  • ModuleSet implementation explanation
  • Effort appendix
  • Use and images cases for Remove and AddCommand
  • Team-based tasks
  • Set up the team’s repo and RepoSense.
  • Set up the team’s project website.
  • Design the initial UI mockup.
  • Completed Demo v1.3 based on v1.2

  • Reviewing/Mentoring
  • Contributed to forum discussion (example: #60)
  • Reported major bugs for other teams which I was the sole reporter. (examples: #214, #198)
  • Reviewed and gave suggestions for teammates PRs (examples: #55, #92 (which was followed up in #102))