Ngoh Wei Yue'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 to code
- New Feature: Added a tab layout, and the ability to switch between individual tabs (Pull request #75)
- What it does: Allows ATAS to have multiple layouts which serves different functions.
- Justification: This feature improves the product significantly because we can now display more features without overcrowding the GUI. It also enhances the UX since there is a dedicated tab for each aspect of the main features of ATAS.
- Highlights: This enhancement allows commands like
enterses
to work properly. It required an in-depth analysis of both the front-end and the back-end of the application. The implementation too was challenging as it required integration between the front-end and back-end code.
- New Feature: Added a memo feature (Pull request #122)
- What it does: Allows users to take down notes in a text box which serves as a memo. Users can type directly into the memo or use
addnote
to add notes to the memo. The memo also auto-saves when users make any changes to it. - Justification: This feature improves the product because ATAS focuses on in-class teaching experience. Taking down notes during a lesson and referring to them afterwards is very common, and ATAS should allow users to do so without having to switch to other applications.
- Highlights: This enhancement required the implementation of all 4 components (
Ui
,Logic
,Model
andStorage
) of memo from scratch. It required an in-depth analysis of the architecture and design alternatives. The implementation too was challenging as it required major addition to many components of the application.
- What it does: Allows users to take down notes in a text box which serves as a memo. Users can type directly into the memo or use
- Project management:
- Enhancements to existing features:
- Updated
findstu
command (Pull request #66) - Devised and updated the GUI color scheme (Pull request #75)
- Refactored most command words. Examples:
add
->addstu
,deletesession
->deleteses
(Pull request #99) - Updated
deleteses
andeditses
to be referenced by index number instead of session name (Pull request #99) - Updated help window to display command tables (Pull requests #101, #210)
- Updated UI to show specialised messages for empty state. Examples: user has no students, user has not entered session (Pull requests #210, #230)
- Fixed various bugs (Pull requests #83, #84, #133, #138, #217)
- Updated
- Documentation:
- User Guide: (Pull requests #158, #239, #250)
- Added documentation and UI diagrams for the layout of ATAS
- Added documentation for the overview of features,
help
,switch
,addnote
, Saving the memo, Saving the data and FAQ - Added command summary for features related to memo
- Developer Guide:
- Added use cases, NFRs and updated glossary (Pull requests #63, #240)
- Updated documentation and UML diagram for the
Ui
component of ATAS (Pull request #126) - Added documentation and UML diagrams for the implementation of
switching between tabs
andadding a note
(Pull request #126, #240) - Updated Documentation.md and section on documentation (Pull request #240)
- Added documentation on most instructions for manual testing (Pull request #259)
- User Guide: (Pull requests #158, #239, #250)
- Community: