Skip to content

Commit

Permalink
Update add scroll to top
Browse files Browse the repository at this point in the history
  • Loading branch information
ryamgoh committed Nov 13, 2023
2 parents c9f5fd6 + 7f40f6c commit bf28f6a
Show file tree
Hide file tree
Showing 11 changed files with 446 additions and 366 deletions.
658 changes: 372 additions & 286 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ LoveBook, is a **dating-focused** application, revolving around providing **seri
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.
**effectiveness** of your online dating journey.

## **Table of Contents**

Expand Down
2 changes: 1 addition & 1 deletion docs/diagrams/BestMatchSequence.puml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ skinparam ArrowFontStyle plain
box Logic LOGIC_COLOR_T1
participant ":LogicManager" as LogicManager LOGIC_COLOR
participant ":LoveBookParser" as LoveBookParser LOGIC_COLOR
participant ":BestMatchCommand" as BestMatchCommand LOGIC_COLOR
participant "d:BestMatchCommand" as BestMatchCommand LOGIC_COLOR
participant ":CommandResult" as CommandResult LOGIC_COLOR
end box

Expand Down
2 changes: 1 addition & 1 deletion docs/diagrams/ListSequenceDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ create ListCommand
LoveBookParser -> ListCommand
activate ListCommand

ListCommand --> LoveBookParser
ListCommand --> LoveBookParser : l
deactivate ListCommand

LoveBookParser --> LogicManager : l
Expand Down
133 changes: 64 additions & 69 deletions docs/team/shishirbychapur.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ layout: default.md
title: "Shishir Bychapur's Project Portfolio Page"
---

# Shishir's Project Portfolio Page
### Project: LoveBook

## 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,
Expand All @@ -14,70 +14,65 @@ online dating journey.

Given below are my contributions to the project.

### **New Features**

#### **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.

#### **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.

#### **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.

#### **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.

#### **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**

My code contributions can be accessed using this [RepoSense Link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=shishir&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code&since=2023-09-22&tabOpen=false).

### **Project management**
* Managed release `v1.3 trial`on 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](https://github.com/AY1920S2-CS2103T-F09-3/main) 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](https://stackoverflow.com/questions/20621752/javafx-make-listview-not-selectable-via-mouse)
- 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 more UI tests to ensure UI is 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 the existing UML models to reflect the current state of the application.
- Added UML diagrams for add, edit, delete dates.
- Added the target user profile section.

### **Community**
* Reviewed PRs and gave constructive feedback to my teammates:
- [#247](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/247), [#246](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/246), [#245](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/245), [#225](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/225), [#149](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/149), [#131](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/131), [#123](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/123)
* Posed queries in the forum to ensure PR's dont violate course guidelines.
- [Query](https://github.com/nus-cs2103-AY2324S1/forum/issues/394)
* **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](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=shishir&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code&since=2023-09-22&tabOpen=false)

* **Project management**
* Managed release `v1.3 trial`on 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](https://github.com/AY1920S2-CS2103T-F09-3/main) 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](https://stackoverflow.com/questions/20621752/javafx-make-listview-not-selectable-via-mouse)
- 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:
- [#247](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/247), [#246](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/246), [#245](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/245), [#225](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/225), [#149](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/149), [#131](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/131), [#123](https://github.com/AY2324S1-CS2103T-F10-2/tp/pull/123)
* Posed queries in the forum to ensure PR's dont violate course guidelines.
- [Query](https://github.com/nus-cs2103-AY2324S1/forum/issues/394)
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class BlindDateCommand extends Command {
@Override
public CommandResult execute(Model model) throws CommandException {
requireNonNull(model);
model.getRandomDate();
model.getBlindDate();
return new CommandResult(Messages.MESSAGE_RANDOM_PERSON_SUCCESS);
}
@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/seedu/lovebook/model/Model.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ public interface Model {
/**
* Returns a random date from the date list.
*/
public void getRandomDate() throws CommandException;
public void getBlindDate() throws CommandException;

/**
* Updates the filter of the filtered date list to filter by the given {@code predicate}.
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/seedu/lovebook/model/ModelManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public ObservableList<Date> getFilteredPersonList() {
/**
* Returns a random date from the date list.
*/
public void getRandomDate() throws CommandException {
public void getBlindDate() throws CommandException {
if (loveBook.getPersonList().size() == 0) {
throw new CommandException("Initialise list with dates before calling blindDates");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ public ObservableList<Date> getFilteredPersonList() {
}

@Override
public void getRandomDate() {
public void getBlindDate() {
throw new AssertionError("This method should not be called.");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ public ObservableList<Date> getFilteredPersonList() {
}

@Override
public void getRandomDate() {
public void getBlindDate() {
throw new AssertionError("This method should not be called.");
}

Expand Down
4 changes: 2 additions & 2 deletions src/test/java/seedu/lovebook/model/ModelManagerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,13 @@ public void executeWelcomeMessage() {
@Test
public void executeRandomPerson() throws CommandException {
modelManager.addDate(ALICE);
modelManager.getRandomDate();
modelManager.getBlindDate();
assertTrue(modelManager.getFilteredPersonList().equals(Arrays.asList(ALICE)));
}

@Test
public void executeRandomPerson_noPerson() throws CommandException {
assertThrows(CommandException.class, () -> modelManager.getRandomDate());
assertThrows(CommandException.class, () -> modelManager.getBlindDate());
}

@Test
Expand Down

0 comments on commit bf28f6a

Please sign in to comment.