Project: StonksBook

Overview

As a part of the requirements of CS2103T: Software Engineering, my team of 4 software engineering students and I decided to enhance an existing project Address Book Level 3 (AB3) into a new product called StonksBook which helps salesmen to manage their critical data.

StonksBook is a Desktop application that allows salesmen to manage their sales, contacts, meetings and reminders and provide data analysis on meetings and sale data for salesmen gain insights for maximising profitability.

Summary of Contributions

The following section summarises my coding, documentation and other contributions to the project.

  • Code contributed: RepoSense link

  • Enhancements implemented:
    • Sorting of contacts by name or email address in alphabetical or reverse alphabetical order.
      • Ensure that the sort order does not affect other features negatively.
    • Find contacts by name that approximately matches the given search key word.
      • Non-trivial as dynamic programming solution is used.
      • Several custom class logic needed to support this feature.
      • Had to tailor current filtering and ordering logic to implement the filtering and order needed for this feature (most similar matches appear first).
    • Meeting statistics with bar chart GUI.
    • Listing of sale items in a month and year.


    • Sale statistics with bar chart GUI.
      • Custom generic class to store monthly meetings and sale items.
      • Custom class to generate bar chart GUI.
    • Provide suggestions to invalid user input.
      • Hard to give relatively good approximations to both single and double command keywords.
    • Help page with all command description and clickable link to User Guide.
      • Static generation of help window content via a text file that stores the command description.
  • Documentation:
    • UG:
      • contact find
      • contact sort
      • meeting stats
      • sale stats
      • help
      • error resolution suggestion
    • DG:
      • Meeting analysis feature
        • Class diagram
        • Object diagrams
        • Sequence diagrams
        • Activity diagram
      • User story
      • Use case
  • Contributions to team-based tasks :
    • Add icons to contact list.
    • Modify parser to accomodate single and double keyword commands.
    • Release management.
  • Review/mentoring contributions: