Hingen's Project Portfolio Page
Project: Le Tracker
Le Tracker makes it easy to measure your overall study progress by tracking how much lecture content you have covered across various modules. More than just a simple to-do list app, Le Tracker blends the efficiency of a command line interface with the elegance of modern graphical user interface.
Summary of Contributions
Table of Contents
Code and Features
Check out the code contributions here
- Adapting Model Component
Le Tracker requires a hierarchical structure for it’s model withModules which each contains a list ofLectures andLectures which each contains a list ofVideos. This required major changes to be made to the AB3 Model component which is non-hierarchical, utilisingPersonobjects to store person contact details. - Adapting Storage Component
The changes made to the Model component required that the Storage component be updated as well. As the one that adapted the Model component, I had to handle the updating of the Storage component as well. - Adapting Add and Edit Command
Due to the hierarchical structure of the Model component, we needed to redesign our commands to match the new structure.addandeditneeded to be updated to be able to add and edit modules, lectures, or videos depending on what arguments are included in the user input. - Implementing an Event System
Due to the hierarchical structure of the Model component, the implementation of various features started to become rather difficult with many bugs popping up during integration. To limit the number of dependencies needed to resolve these bugs, I implemented aTrackerEventSystemclass designed using the Observer design pattern.
User and Developer Guide
- Add and Edit Command Documentation
- Update the UG documentation for the
addandeditcommands - Update the DG “Implementation” section for the
addandeditcommands - Update the DG user stories, use cases, and manual testing instructions for the
addandeditcommands
- Update the UG documentation for the
- UG Design
- Update “Design” section, “Architecture” subsection class diagram and information
- Update “Design” section, “Model” subsection class diagram
- Update “Design” section, “Storage” subsection class diagram and information
- UG Command Syntax
- Create a “Command Syntax” section which is adapted from AB3’s UG’s command format notes
- UG Argument Formats
- Create an “Argument Formats” section that documents the required format of each argument’s values
- Standardise UG Format
- Define the UG “Command Manual” section convention that all members are to follow
Team-Based Tasks
- Created GitHub Organisation and Team Repository
- Created v1.1 Milestone and Issues
- Define Agendas before each weekly meeting
- Bugs Reported: link
- PRs reviewed: #109, #370