Eris Jacey Masagca's Project Portfolio Page
Project: Addendum for Teaching Assistants (ATAS)
ATAS is a desktop application designed to be a handy in-class companion for CS1010S Teaching Assistants. It aims to elevate users’ efficiency and make their experience of handling administrative tasks as seamless as possible. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
This project is based on the AddressBook-Level3 (AB3) project created by the SE-EDU initiative. AB3 has about 10 kLoC, while ATAS has about 20 kLoC modified/added on top.
Given below are my contributions to the project.
- Code contributed: RepoSense link
- New feature: Added the model component for
sessions
. (pull request #73)- What it does: essentially the backend component for the above entity that will change depending on the logic component.
- Justification: This feature was included early in iteration v1.2 in order to facilitate a smoother working process and to ensure more of the team is involved with implementation (they can work on the same feature by implementing the other components).
- Highlights: This enhancement allowed for easy extensibility and was implemented with good design principles in mind.
- New feature: Added a “random name generator” command that allows the user to receive the name of a randomly-selected student in the student list. (pull request #112)
- New feature: Added the ability to undo/redo previous commands. (pull request #131)
- What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
- Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. This is especially so when attempting to type fast (on the CLI) is prone to typographical errors, etc.
- Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required to existing commands.
- Project management:
- Set up the GitHub team org/repo and managed the GitHub settings for the team
- Set up and maintained the issue tracker and added relevant tags for issues
- Managed releases
v1.1
-v1.4
(all 4 releases) on GitHub
- Enhancements to existing features:
- Updated the existing
list
command (pull request #65) - Updated existing AB3 legacy package names into ATAS-relevant names (pull request #96, #120)
- Updated the GUI color scheme (pull requests #114, #207)
- Added a new tab (ATAS) to the UI (pull request #207)
- Fixed various bugs (pull requests #162, #163, #232)
- Updated the existing
- Documentation:
- User Guide:
- Updated the AB3 legacy UG skeleton to make it more relevant for ATAS (pull requests #148, #149)
- Added / updated existing documentation for the following parts: (pull request #153)
1. Introduction
,1.1. Elevate your efficiency
,2. About this user guide
,2.1. Navigation
,5.2.3. Generating the name of a randomly-selected student
,5.2.4. Undo
,5.2.5. Redo
,7. Command summary
,7.1. General
- Developer Guide:
- Updated the AB3 legacy DG skeleton to make it more relevant for ATAS (pull request #225)
- Added details to the following parts: (pull request #51)
- Target user profile, Value proposition, User stories
- Added / updated details to the following parts: (pull request #234, #255)
- DevOps, Appendix: requirements – product scope, Appendix: instructions for manual testing – launch and shutdown (added pictures), Appendix: effort
- Added architecture details of the
model
component (pull request #127) - Added implementation details of the
rng
feature (pull request #127) - Added implementation details of the
undo/redo
feautre (pull request #234)
- User Guide:
- Community:
- PRs reviewed (with non-trivial review comments): #68, #74, #75, #81, #84, #94, #98, #99, #103, #105, #117, #124, #152, #155, #158, #165, #235, #236, #240, #249
- Contributed to forum discussions - partook in general discussions (examples: 1, 2, 3, 4, 5)
- Contributed to forum discussions - gave suggestions to fix various problems for other students in the class (examples: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
- Reported 10 bugs and suggestions for another team during a dry-run of the practical exam (link here)
- Some parts of my CSS stylesheet for a similar school project was adopted by several other classmates (1)