Reyaaz's Project Portfolio Page
Project: TrAcker
TrAcker - TrAcker is a desktop event management application for NUS CS2040 Teaching Assitants (TA). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
Given below are my contributions to the project.
- New Feature: Added the ability to Create, Read, Update and Delete Events that do not clash.
- What it does:
- Allows the CS2040 TA to create tutorial events (
Tutorial
,AddTutorialCommand
,AddTutorialParser
), lab events (Lab
,AddLabCommand
,AddLabParser
), and consultation events (Consultation
,AddConsultationCommand
,AddConsultationParser
). - Allows the CS2040 TA to delete tutorial events, lab events, and consultation events.
- Allows the CS2040 TA to edit tutorial events, lab events, and consultation events.
- Allows the CS2040 TA to create tutorial events (
- Justification: This feature allows the CS2040 TA to schedule events for student attendance taking, which is the main purpose of TrAcker.
- Highlights: This enhancement allows the TA to add students to an event as well. So, it was difficult to ensure that the dependencies between the two features worked seamlessly.
- What it does:
- New Feature: Changed the basic list view GUI to a tableview for the student / person details.
- What it does: Allows the CS2040 TA to better see the required details of the student without having to look through the entire list.
- Justification: This feature allows the CS2040 TA to easily check for certain particulars, such as nus email, when the TA wants to relay information via nus email.
- Highlights: This enhancement affects the display of performance indicator and sort functionality since the tableview columns are used for both the features as well.
- New Feature: Implemented the display of student profiles (
Photo
) that can be seen in the tableview, as well as in the event cards when students are added to the events.- What it does: Allows the TA to recognise students faces during tutorials, labs or consultation. This way, the TA might remember the student’s name easily.
- Justification: This feature is done to simulate the list of student photos TA or teachers often take with them to recognise student’s faces with their names.
- Highlights: This enhancement makes addStudent to events and deleteStudent from events dependent on it.
- New Feature: Implemented Tabs for separate display of students and events and new gui for events in
EventListPanel
.- What it does: Allows the CS2040 TA better visualise what to see without too much clutter.
- Justification: This feature allows the TA to easily view details of students, or details of events in different pages without having to see everything in a single page. This way, there will be much less clutter in the screen.
- Highlights: This enhancement affects the TA’s ability to navigate between tabs using commands.
- New Feature: Implemented the feature that does not allow the clash between event dates.
- What it does:
- Informs the TA that an event cannot be created if the TA has already created an event during that same period.
- Tutorials are fixed to be 1 hour long, Labs are fixed to be 2 hours long, and Consultation is fixed to be 1 hour long to adhere to CS2040 timetable.
- Justification: This feature allows the TA to not mistakenly schedule a conflicting event.
- Highlights: This enhancement further caters TrAcker towards its feature design.
- What it does:
-
Code contributed: RepoSense link.
- Project management:
- Managed releases
v1.3 Trial
,v1.3
,v1.3.1
,v1.4
(all 4 releases) on GitHub.
- Managed releases
- Enhancements to existing features:
- Changed the GUI from list view to table view (Pull requests #59, #61, #67, #70).
- Ensured the color and display of the tableview suits the theme (Pull requests #67.
- Improved gui of search bar, and TrAcker logo.
- Improved gui with tabs navigation.
- Improved gui with icons in events tab.
- Improved validate checkers for email, phone (telegram), and name.
- Documentation:
- User Guide:
- Added documentation for the features
touch
,vim
,mkdir
,editEvent
,rm
,delete
. - Ensured documentation has enough visuals.
- Ensured documentation has a command summary.
- Added table of contents to documentation.
- Ensured examples are correct.
- Ensured formatting of different command sections are consistent.
- Added icons such as warning, information, and bulb to the documentation to improve readability.
- Did the skeleton for all parts and added table of content.
- Added visualisations for commands.
- Added documentation for the features
- Developer Guide:
- Added implementation details of the
touch
,vim
,mkdir
,editEvent
,rm
,delete
features. - Formatted activity diagrams for all parts.
- Formatted User Stories for all parts.
- Formatted Use Cases for all parts.
- Ensured all diagrams are correct.
- Added Planned Enhancements for
Photo
and addressbook.json data.
- Added implementation details of the
- User Guide:
- Community:
- Tools:
- JavaFX TableView.
- JavaFX ImageView.
- JavaFX ListView.