Shiyuan Yang's Project Portfolio Page
Project: TuitiONE
“TuitiONE” is carried out as a team project and implemented under the guidance of NUS CS Module CS2103T: Software Engineering. It is built as a brown-field project based on the pre-existing project “AddressBook - Level 3” (A desktop address book application used for teaching Software Engineering principles).
“TuitiONE” is a Command Line Interface (CLI) focused desktop application that aims to simplify the work of Customer Servicing Officers (CSO) in a tuition centre. It allows CSOs to input the details of students and parents through simple and intuitive commands. Incorporated with JavaFX and FXML, the application also offers a Graphical User Interface (GUI) for a better user experience.
With the primary programming language written in Java, the team’s contribution totals up to 10 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to add lessons into the application -
add-l
- What it does:
Adds a unique lesson into the application for students to enroll in. - Justification:
This feature is necessary to be implemented in the project. This is because we need to create a lesson in the application in order for students to be enrolled in. - Highlights:
This feature will parse the lesson-related parameters to ensure validity of each of the parameters. This function will ensure the lesson added is unique and bounded within the acceptable timing of 0900-1900.
- What it does:
- New Feature: Added roster command -
roster
- What it does:
This command will display all the students who are enrolled in a specific lesson to the GUI. - Justification:
This feature is a good to have to allow CSOs to quickly see who are the students enrolled in a specific lesson. - Highlights:
This feature will display a filtered student list and lesson list to the GUI. This will present a clean view of all students who are enrolled in a specific lesson.
- What it does:
- New Feature: GUI Add Lesson Panel
- What it does:
A lesson panel that displays all lessons available in the tuition center. - Justification:
This feature is a must to have in order to incorporate the lesson list and student list together.
- What it does:
-
Code contributed: RepoSense link
- Project management:
- Helped releases
v1.3
-v1.4
(3 releases) on GitHub
- Helped releases
- Enhancements to existing features:
- Documentation:
- Tools:
- Integrated a new Github plugin (CircleCI) to the team repo
- Utilize SceneBuilder to build GUI Layout