Arya Nagatama Giat's Project Portfolio Page
Project: SmartNUS
SmartNUS is a revision tool for students. It allows students to create their own question bank and quiz themselves.
Here are the things I have done in this project:
- New Feature: Added the Quiz Class and Quiz Command (@ryanpeh implemented the quiz functionality) (#33)
- What it does: Allows user to quiz themselves based on the questions they added.
- Justification: The main functionality of the app is to revise through quizes. This feature allows users to test themselves based on the questions they added.
- Highlights: This feature opens up many opportunities on other quiz features such as testing questions by their tags or selecting a number of questions to be tested on.
- New Feature: Added statistics to questions and tags (#51, #96)
- What it does: Keep track of the number of times the user attempted the question and the number of times the user answered correctly.
- Justification: This feature allows questions to be sorted based on the performance (the correct percentage). Therefore, the user’s review sessions can be more effective as they can see which topics they are struggling on.
- Highlights: Instead of storing the statistics as primitive data type in each questions, an abstracted type was used which lead to the statistics being able to be used by other things such as quizes and tags.
- New Feature: Added theme options (#59)
- What it does: Allows users to change the theme from a dark theme to a light theme and vice versa. The chosen theme will be saved in the user preference too.
- Justification: Some users prefer to review their topics on a darker theme while some prefer to review on a lighter theme. According to research, switching things up will help boost your focus, thus, make studying sessions more effective. Changing the theme is one way to switch things up.
- Highlights: This implementation lead to some changes on how the UI communicates with the model. Previously, the model would tell the UI to perform certain updates. With this feature, the UI fetches information from the model and updates accordingly. This way, it will make it easier for future themes or UI update commands to be implemented.
- Credits: The light theme was inspired by LumiNUS
-
Code Contributed: RepoSense link
- Enhancements to Existing Features:
- Documentation:
- User Guide:
- Developer Guide:
- Updated the old links to an updated one (#70)
- Created class diagrams for
note,theme,statistic - Created sequence diagrams for
statistic, and ‘theme’ - Updated the tutorial for
SmartNus. Tutorial includes (AddRemarkandTracingCode)
- Team-Based Tasks:
- PRs reviewed and merged: PRs
- Starting the weekly meetings
- Reported bugs for other teams (bugs reported)