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 withModule
s which each contains a list ofLecture
s andLecture
s which each contains a list ofVideo
s. This required major changes to be made to the AB3 Model component which is non-hierarchical, utilisingPerson
objects 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.add
andedit
needed 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 aTrackerEventSystem
class designed using the Observer design pattern.
User and Developer Guide
- Add and Edit Command Documentation
- Update the UG documentation for the
add
andedit
commands - Update the DG “Implementation” section for the
add
andedit
commands - Update the DG user stories, use cases, and manual testing instructions for the
add
andedit
commands
- 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