revdrag's Project Portfolio Page
Project: EduTrack
Overview
EduTrack is a powerful desktop app designed for SOC tutors, allowing them to streamline their teaching tasks and effortlessly track their student records. The user interacts with it using a Command Line Interface (CLI), and it has a Graphical User Interface (GUI) created with JavaFX. It is written in Java, and has about 13 kLOC.
Summary of Contributions
Given below are my contributions to the project.
- Code Contributed: RepoSense link
- New Feature: Added the ability to add students to classes.
- What it does: Allows the user to add students into the classes they created prior.
- Justification: This feature improves the product significantly because it allows users to track student's records such as their name, student number and memo.
- Highlights: There were different design considerations when implementing this enhancement. To restrict users from creating invalid student numbers, it uses regex validation but that would require it to be a non-null value.
Instead of requiring a valid student number at the point of student creation, because there can be reasons such as the user not having the information at hand or deem not necessary to keep track, the feature will instead populate it with a default value of
A0000000Z
for the user to edit in the future.
- New Feature: Added the ability to edit student records.
- What it does: Allows the user to make changes to student records such as name, student number and memo.
- Justification: This feature improves the product significantly as the user is able to keep track of their student records and write personalised memos for them.
- Highlights: Because the adding student feature does not allow any change in student record such as student number or memo, it is necessary for an edit feature for users to edit such information.
- New Feature: Added sample data generation to EduTrack.
- What it does: Populates EduTrack on launch with sample data for first time users or developers.
- Highlights: This feature improves the product as users are now able to tinker around with EduTrack before they start using the application. This will allow them to familiarise themselves with how the GUI looks like in a typical EduTrack application. They will also be able to experiment with all the commands available and perform some manual testing with the help of the sample data.
- Project Management:
- Setup GitHub Team Organisation and Repository
- Setup Project Website: Migrate to MarkBind and set up GitHub Pages, helped partially to change names and links from AddressBook to EduTrack on the website such as
index.md
. (Pull Requests #1, #30) - Add
Appendix - Planned Enhancements
into website layout for easier navigation (Pull Request #153)
- Enhancements to existing features:
- Added the ability to store
Memo
information (was initially Note
but changed to de-conflict Prefix
used) in Student
and Class
objects. (Pull Request #58) - Added the ability to store
Id
information in Student
objects. (Pull Request #58) - Updated many of the test cases related to AddressBook's json file testing to EduTrack. (Pull Requests #42, #58, #63)
- Documentation:
- User Guide:
- Help to improve the structure of the UG by splitting our features into 3 subsections and added the About, Glossary, FAQ sections. (Pull Request #73)
- Added documentation for the features
add /s
and edit /s
. (Pull Requests #30, #73, #87)
- Developer Guide:
- Added use cases. (Pull Request #35)
- Added implementation details for the Edit Student feature. (Pull Request #63)
- Updated the section
Appendix - Instructions for manual testing
(Pull Request #149)
- Community:
- Pull Request reviews: #57, #64, #85, #146, #156
- Reported bugs and provided suggestions whenever possible for other teams in the class during PE-D. (Issues created: Repo)