Skip to content

Latest commit

 

History

History
57 lines (40 loc) · 4.54 KB

shunde97.adoc

File metadata and controls

57 lines (40 loc) · 4.54 KB

Chiang Shun De - Project Portfolio

PROJECT: TAble

Overview

TAble is your handy desktop app, optimized for TAs who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI)! Mark attendance, arrange consults, add module notes, and more with TAble! It has a GUI created with JavaFX and written in Java, and has about 20 kLoC.

Summary of contributions

  • Major enhancement: Enabled support for Students

    • What it does: The user is able to add/edit/delete/list/clear/find all 'Students' in TAble. The user can also find 'Students' in TAble using their names or matric numbers as keywords. Stronger checks are implemented to ensure no duplicate entries for email addresses and matric numbers but allows for duplicate names to appear, which accurately simulates the real world where 2 students can have the same name but they will have different matric numbers and email addresses.

    • Justification: Teaching Assistants (TAs) have the main job role of teaching a group of students. Therefore it is important for TAs to have an accurate and updated list of students he can refer to across all his different tutorials so that he can account for every student. This helps consolidate important information about all the students, and allows him to find students, and make edits or delete them if required to maintain an accurate and updated list of students. It also allows efficient tracking of events as changes to the list of students will be accurately reflected in their corresponding tutorial/consults.

    • Highlights: A separate student panel which displays all of the user’s 'Students' exist for the user to easily keep track of all his students and quickly see information information regarding each student. Any edit or deletion of students will be reflected accordingly in the corresponding tutorial and/or consultation the student is involved. There are also labels which help TAs identify which module and tutorials the student is currently enrolled in.

  • Minor enhancements:

    • Added labels on the Graphical User Interface which allows the user to identify which module and tutorials each student is currently enrolled in

      • Eliminates the need for user to look through all tutorials to identify the tutorials each student is currently enrolled in, which is repetitive and can be inefficient especially when the number of tutorials in TAble increases significantly.

    • Implemented a sorting feature which allows the user to sort the students in TAble in alphabetical order. If there are students with the same full names, these students will be sorted using their matric number, the student with the smallest matric number will appear highest on the list.

  • All code contributed: [RepoSense - Code Report]

  • Other contributions:

    • Project management:

      • Raised issues that needed to be solved and provided some solutions to these problems. [Issues raised/discussed]

      • Managed Graphical User Interface for StudentListPanel of the application #201

    • Documentation:

      • Contributed in the User Guide and Developer Guide for Student features, including adding relevant PlantUML diagrams in the Developer Guide to enhance comprehensibility of the codebase and the structure of the feature.

      • Fix and Maintain Product Website #227

    • Summary of contributions:

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.