Joel Ng Yi Xian - Project Portfolio Page
Overview:
E-Duke-8 (pronounced “Educate”) helps CS2113/T students learn and understand software engineering and Object-Oriented Programming (OOP) principles through a gamified platform and enhances their learning experience.
Summary of Contributions:
- New Feature: Topic and TopicList components.
- What it does: The TopicList component stores Topic objects, each of which stores the description, note list and question list of the topic.
- Justification: Necessary for the compartmentalization of data
- New Feature: Implemented the NoteCommand component
- What it does: This command is a type Command object. Entering an input containing the following formats:
note add
,note delete
,note list
will throw this command and process the instruction provided. - Justification: Necessary to add/delete/list notes.
- Highlight: This feature required the use of logic, as well as interactions with various classes such as
TopicList
,Ui
,NoteList
andNote
. Methods were added to theUi
class to allow for a more user-friendly way of providing inputs when it comes to creating/deleting/listing outNote
objects in the specifiedNoteList
object.
- What it does: This command is a type Command object. Entering an input containing the following formats:
- New Feature: Implemented the Note and NoteList components.
- What it does: The NoteList components store Note objects, and contains methods that can modify the NoteList object.
- Justification: Necessary to process and carry out the NoteCommand.
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Removed redundant code in the DisplayableList interface which allowed for the better implementation of features. Made necessary additions and amendments to various classes and JUnits tests. #122
- Made necessary additions and amendments to the UserStorage class to accommodate improvements made to the
Note
andNoteList
classes. #144
- Contributions to documentation
- User Guide:
- Added documentation for the adding, deleting, and the listing of notes: #207
- Developer Guide:
- Added design and implementation details of the Topic and TopicList components Design of TopicList, Implementation of TopicList
- Added design and implementation details of the Note and NoteList components Design of NoteList, Implementation of Notes
- Added UML and sequence diagrams relevant to the Topic, TopicList, Note and NoteList components, as seen in the links above.
- User Guide:
- Community: