Lim Jun Jie's Project Portfolio Page
Project: Jarvis
Jarvis is a desktop app for CS1101S Teaching Assistants (Avengers) to help Avengers keep track of their grading duties and consultations. The user interacts with it using CLI and it has a GUI created with JavaFX. It is written in Java and has more than 10kLoC.
Given below are my contributions to the project.
- New Feature: Added
Add Task
feature for Tutors to add their personal tasks.- What it does: Allows tutors to Add Todos, Events or Deadlines.
- Justification: This feature gives tutors ability to store their personal tasks at one place for better organization.
- Highlights: This feature allows me to understand the main architecture of JARVIS from UI, Logic to Storage components. It is a very wholesome feature to add and I really enjoyed it.
- New Feature: Added
Delete Task
feature for Tutors to delete their personal tasks.- What it does: Allows tutors to Delete Todos, Events or Deadlines.
- Justification: This feature gives tutors ability to manage their personal tasks at one place by deleting Tasks that are completed or not relevant anymore.
- Highlights: Similar to
Add Task
feature, this feature allows me to understand the main architecture of JARVIS.
- New Feature: Added
View Task
feature for Tutors to view their different subsets of their personal tasks.- What it does: Allows tutors to view different Task list including
Overall Task List
,Todo List
,Event List
andDeadline List
. - Justification: This feature gives tutors ability to view their Tasks quickly based on different categories.
- Highlights: I really appreciate the usefulness and flexibility of using an Observer pattern.
- What it does: Allows tutors to view different Task list including
- New Feature: Added a
History Command
that allows Tutors to navigate to previous commands using up/down keys.- What it does: Allows tutors to navigate through previous commands entered using up and down arrow keys.
- Justification: Enhances the CLI nature of JARVIS which gives tutors ability to skim through previous commands, and they do not need to retype commands that are similar to what they have typed previously.
- Highlights: Not only does this feature provide convenience to users, it also allows GUI testing to be easier for us, the developer team.
-
Code contributed: RepoSense link
- Project management:
- Ensured that work handed to me that affects the whole project is done on time, eg Task related features.
- Ensured that project deliverables are delivered on time.
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- PRs reviewed (with non-trivial review comments): #215, #300, #304, #384
- Reported bugs and suggestions for other teams in the same CS2103T class: Dry run PE
- Tools:
- Used JavaFX libraries and CSS to create portions of the Graphic User Interface.