Project: StonksBook

Overview

As part of CS2103T: Software Engineering, my team of 4 software engineering students and I were tasked with enhancing an existing project, Address Book Level 3 (AB3), into a new product for our Software Engineering project. We chose to enhance it into a contact management application for salespeople, called StonksBook.

StonksBook is an all-in-one contact management application targeted at salespeople. From helping salespeople managing their clients to theirs sales information, StonksBook is sure to boost their performance and conversion rates.

Summary of Contributions

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

Code contributed: Please click this link to see a sample of my code: RepoSense link

Major enhancement: ‘Meetings’ feature

  • What it does: The ‘Meetings’ feature comes with a suite of commands that allows users to add, delete, edit as well as filter for meetings. To prevent the user from accidentally creating conflicting meetings, this feature also automatically checks if there are any conflicting meetings whenever a user attempts to add or modify a meeting

  • Justification: One goal of StonksBook is to provide an all-in-one application for salespeople so that they can track their meetings without needing a separate application. This integration also allows users to quickly see a history of meetings that they have had with a particular client, which facilitates the formulation of any sales strategy.

  • Highlights: This enhancement required a deep understanding of all aspects of the project. This enhancement also required a thorough understanding of the handling of dates and durations. I am responsible for the front-end, back-end logic, storage and unit testing of this enhancement.

Major enhancement: ‘Reminders’ feature

  • What it does: The ‘Reminders’ feature comes with a suite of commands that allows users to add, delete, edit as well as filter for reminders.

  • Justification: Similar to the ‘Meetings’ feature, we wanted to integrate some form of reminder tracking into StonksBook. Furthermore, we wanted the ability to associate reminders to a contact, which is not available in most generic reminder-tracking application.

  • Highlights: This enhancement required a deep understanding of all aspects of the project. I am responsible for the coming up with the front-end as well as most of the back-end logic and storage of this enhancement. My teammate, Wang Luo, was responsible for implementing the filtering of reminders, as well as the ability to mark reminders as complete.

Minor enhancement: I modified the Graphical User Interface (GUI) to include an additional column which would support the display of reminders and meetings.

Contributions to documentation:

  • User guide:
    • Wrote the sections for meeting list, meeting add, meeting delete, meeting edit, reminder add, reminder delete commands and co-wrote the sections for reminder list, reminder edit commands in the user guide: #9, #18 , #127, #165 , #169
    • Came up with a standard for writing the user guide to ensure standardisation across work written by team members: User Guide Standard
  • Developer guide:
    • Wrote the sections for the implementation of the ‘Meetings’ and ‘Reminders’ feature in the developer guide: #127
    • Added use cases, non-functional requirements to the developer guide: #18

Contributions to team-based tasks:

  • Set up the GitHub team organisation and repository.
  • Managed the product release for version 1.3 on GitHub.
  • Wrote the ‘Introduction’ and ‘About this document’ section of the User Guide

Review/mentoring contributions:

Contributions beyond the project team: