Overview

StudyBananas is a desktop study companion app that helps students centralize all their study tasks and set up focused study sessions into one place, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI).

StudyBananas project was done by a team of 5 software engineering students, where I was tasked with enhancing an existing project, Address Book Level 3 (AB3), morphing it into a new product for our Software Engineering project. This page will detail the contributions I have made to the project.

Summary of Contributions

This section shows a summary of my contributions to the project.

Code contributed: Please refer to this page to see a sample of my code.

Major enhancement: FLASHCARD feature (frontend)

  • What it does: The FLASHCARD feature comes with a set of commands that allows users to add, delete and view the flashcards and the respective flashcard sets they come in. A flashcard set contains an index, name, and a set of unique flashcards. A flashcard contains an index, and a unique pair of question and answer. The code uses defensive programming approach to check that no duplicates are being made, and no null parameters are passed. Just as the application supports automatic tab redirection for each sidebar selections, the ‘FLASHCARD’ feature also supports automatic GUI update of table view whenever a command is entered to list a flashcard set.

  • Justification: One goal of StudyBananas is to provide an efficient revision method that enhances learning. The flashcard feature is proven to be one of the most effective revision method, as survey results done up by the team has suggested. The feature also helps to reduce clutter for users when revising using their computer, reducing the need to open digital files.

Contributions to documentation:

  • User guide:
    • Wrote the section for Features page: #325
    • Helped to maintain coherence in delivery and presentation
  • Developer guide:
    • Wrote the section numbers for the implementation of the QUIZ feature in the developer guide: #330
    • Helped to maintain coherence in delivery and presentation

Contributions to team-based tasks:

  • Maintaining and planning group meetings
  • Keeping record of meeting minutes