Project: LoveBook

Shishir's Project Portfolio Page

LoveBook, is a dating-focused application, revolving around providing users with a convenient and enjoyable tool to enhance their dating experiences. Featuring user preferences management, date organization, customizable filtering options and best match algorithms, LoveBook enhances the efficiency and effectiveness of your online dating journey.

Given below are my contributions to the project.

  • New Feature: Age Field

    • What it does: Added age field for each date added by the user
    • Justification: Age plays an important role in dating.
    • Highlights: Age can take any value between 18 and 150.
  • New Feature: Gender Field

    • What it does: Added gender field for each date's gender
    • Justification: Gender is an important factor as well in dating.
    • Highlights: Gender can either be male or female. Gender icon is displayed when dates are displayed.
  • New Feature: Store User Preferences

    • What it does: Added the ability to store preferences for the user.
    • Justification: For our matchmaking algorithm to work, we need to store the user's preferences.
    • Highlights: Created a new classes and interfaces to store user preferences in a JSON file.
  • New Feature: Avatar Field

    • What it does: Added an avatar for each date added by the user
    • Justification: To make a more visual association with the date.
    • Highlights: Avatar is randomly generated based on the user's gender.
  • New Feature: Added Icons For Horoscope and Gender

    • What it does: Displays the respective icon depending on the date's gender and horoscope.
    • Justification: To make the application more visually appealing.
    • Highlights: The icons are displayed in the date list view.
  • Code Contributions: RepoSense Link

  • Project management

    • Managed release v1.3 trialon GitHub.
    • Assigned milestones and issues to teammates on GitHub.
    • Triaged and Assigned PE-D issues to respective teammates on GitHub.
  • Enhancements to existing features

    • Updated the GUI [Color Scheme, Orientation, Icons, Naming] to make it match the purpose of our application.
      • Took inspiration from here for showing the logo beside the command result display.
      • Disabled the on click feature on dates due to a flickering bug using the code from here
      • Improved the presets bar to make it more user-friendly.
    • Conducted Intensive Testing on the application to ensure that the application is robust and bug free.
      • Added tests to ensure user's preferences are being stored correctly.
      • Added tests to ensure user's gender and age are accepting only valid input.
      • Applied the equivalence partitioning and boundary value analysis techniques to ensure that the application is robust.
      • Added assertions to ensure defensive programming.
  • Documentation

    • User Guide

      • Updated documentation for add, edit, delete dates.
      • Added introduction section, command summary table for the documentation.
      • Updated the Quick start, FAQ, Glossary sections.
      • Added the Common Symbols, Navigating the GUI section.
    • Developer Guide

      • Updated all the existing UML models (e.g. Storage, Ui) to reflect the current state of the application.
      • Added UML diagrams for add, list commands and documented the implementation and design considerations.
      • Added the target user profile section and Updated use cases, manual testing and user stories.
  • Community

    • Reviewed PRs and gave constructive feedback to my teammates:
    • Posed queries in the forum to ensure PR's dont violate course guidelines.