Skip to content

Commit

Permalink
Merge 42c98d7 into 70b5214
Browse files Browse the repository at this point in the history
  • Loading branch information
Kratious committed Nov 12, 2018
2 parents 70b5214 + 42c98d7 commit e9f708a
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 48 deletions.
14 changes: 0 additions & 14 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -681,17 +681,13 @@ This constructor is used when working with an event that does not yet exist in t
It increments the current highest event ID in the system and assigns that value to the new event that is created. This behaviour is illustrated in the code snippet of the `Event` class below.
+
``` Java
// Used to keep track of current highest event ID in the system
private static int maxId = 0;

public Event(Name name, Location location, Date startDate, Date endDate, Time startTime, Time endTime, Description description, Set<Tag> tags) {
...
incrementMaxId();
this.eventId = new EventId(maxId);
...
}

// Increments the current highest event ID by 1
private void incrementMaxId() {
maxId += 1;
}
Expand All @@ -707,9 +703,6 @@ If this condition is true, the current highest event ID value will be replaced b
This behaviour is illustrated in the code snippet of the `Event` class below.
+
``` Java
// Used to keep track of current highest event ID in the system
private static int maxId = 0;

public Event(Name name, Location location, Date startDate, Date endDate, Time startTime, Time endTime, Description description, Set<Tag> tags) {
...
if (isEventIdGreaterThanMaxId(eventId.id)) {
Expand All @@ -718,7 +711,6 @@ public Event(Name name, Location location, Date startDate, Date endDate, Time st
...
}

// Replaces current highest event ID with the ID of the event being initialised
private void replaceMaxIdWithEventId(int eventId) {
maxId = eventId;
}
Expand Down Expand Up @@ -875,12 +867,6 @@ This behaviour is illustrated in the code snippet below.
``` Java
public static int getEventStatus(Date startDate, Time startTime, Date endDate, Time endTime) {
...
//build start from startDate and startTime
java.util.Date start = inf.parse(startDate + " " + startTime);

//build end from endDate and endTime
java.util.Date end = inf.parse(endDate + " " + endTime);

if (now.compareTo(start) < 0) {
return UPCOMING_EVENT;
} else if (now.compareTo(start) >= 0 && now.compareTo(end) <= 0) {
Expand Down
15 changes: 9 additions & 6 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -445,23 +445,23 @@ Example(s):
The figure below shows how the panel looks like before executing the example(s) below.

.Panel before adding an event
image::command_event_add_before.png[add command, 300]
image::command_event_add_before.png[add command, 200]


* `add n/Flag Day l/Yishun MRT sd/31-10-2018 ed/31-10-2018 st/09:00 et/15:00 d/For the children's home` +
+
Adds an event with the properties specified in the command above. The expected result is shown in the figure below.
+
.Result of `add n/Flag Day l/Yishun MRT sd/31-10-2018 ed/31-10-2018 st/09:00 et/15:00 d/For the children's home`
image::command_event_add_before_after1.png[add command, 600]
image::command_event_add_before_after1.png[add command, 500]

* `add n/Fundraising l/Tampines Street 31 sd/15-11-2018 ed/17-11-2018 st/13:00 et/18:00 d/Raising funds t/fundraiser
t/charity`
+
Adds an event with the properties specified in the command above. The expected result is shown in the figure below.
+
.Result of `add n/Fundraising l/Tampines Street 31 sd/15-11-2018 ed/17-11-2018 st/13:00 et/18:00 d/Raising funds t/fundraiser t/charity`
image::command_event_add_before_after2.png[add command, 600]
image::command_event_add_before_after2.png[add command, 500]


[[command-event-list]]
Expand Down Expand Up @@ -496,14 +496,14 @@ Example(s):
The figure below indicates the EVENT_INDEX and shows how the panel looks like before executing the example(s) below.

.Panel before editing an event, EVENT_INDEX is indicated in the circles
image::command_event_edit_before.png[add command, 300]
image::command_event_edit_before.png[add command, 200]

* `edit 1 n/Charity Fun Run t/` +
Edits the name of event at index 1 and removes all tags.
The expected result is shown in the figure below.
+
.Result of `edit 1 n/Charity Fun Run t/`
image::command_event_edit_before_after.png[Before edit, 600]
image::command_event_edit_before_after.png[Before edit, 500]


[[command-event-delete]]
Expand All @@ -517,12 +517,15 @@ Example(s):

The figure below indicates the EVENT_INDEX and shows how the panel looks like before executing the example(s) below.

.Panel before deleting an event, EVENT_INDEX is indicated in the circles
image::command_event_delete_before.png[add command, 200]

* `delete 3` +
Deletes the event specified at index 3.
The expected result is shown in the figure below.
+
.Result of `delete 3`
image::command_event_delete_before_after.png[Before delete, 600]
image::command_event_delete_before_after.png[Before delete, 500]


// end::eventmanagement[]
Expand Down
48 changes: 20 additions & 28 deletions docs/team/kratious.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,47 +11,43 @@
:sectnums:
== Overview

This portfolio documents my involvement in the SocialCare project, under the CS2103T Software Engineering module in NUS.
The main scope of the module requires students to modify an existing application with an established code base
while applying proper software engineering practices.
This portfolio documents my involvement in the SocialCare project that was developed under the CS2103T (Software Engineering) module taken in the National University of Singapore (NUS).

SocialCare is a desktop application designed to serve the volunteer and event management needs of non-profit organizations.
SocialCare is a desktop application designed to serve the *volunteer and event management* needs of social welfare organizations.
The main aim of the project was to streamline manual and inefficient processes faced by administrators of such organizations.
Users primarily interact with the application using a Command Line Interface (CLI) with elements of a Graphical User Interface (GUI) to display information.

My contributions to the project focused on the event management features as well as improving upon the original GUI.
My primary role as a developer for SocialCare involved implementing *event management functions* as well as handling *extensive user interface improvements*.



== Summary of Contributions

* *Major enhancement*: added *the ability to undo/redo previous commands*
** What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
** Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
** Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
** Credits: _{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}_
* *Major enhancement*: added the ability to manage and display *event records*
** What it does: This feature allows the user to create and manage events that span a period of time.
** Justification: This feature improves the product significantly because a user is able to display and keep track of events by the organisation. This is a core requirement to the application as volunteers have to be assigned to events for basic operations.
** Highlights:
This enhancement is one of the major building blocks of the system and affects majority of the other components. It required an in-depth analysis of design alternatives. The implementation too was challenging as other components are dependent on this component.

* *Minor enhancement*: added a history command that allows the user to navigate to previous commands using up/down keys.
* *Minor enhancement*: added an overview command that allows the user to have a statistical overview of existing volunteers and events.

* *Code contributed*: [https://nus-cs2103-ay1819s1.github.io/cs2103-dashboard/#=undefined&search=kratious[Functional code]] [https://github.com[Test code]]
* *Code contributed*: Here is a https://nus-cs2103-ay1819s1.github.io/cs2103-dashboard/#=undefined&search=kratious[link] to my code on the Project Code Dashboard.

* *Other contributions*:

** Project management:
*** Managed releases `v1.1` - `v1.3` (3 releases) on GitHub
*** Managed releases `v1.1` - `v1.4` (4 releases) on GitHub
*** Applied upstream bug fix: link:{pullURL}/78/[#78]
** Enhancements to existing features:
*** Updated the GUI aesthetics and layout (Pull requests link:{pullURL}/92/[#92],link:{pullURL}/148/[#148])
*** Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests)
*** Updated the user interface aesthetics and behaviour: link:{pullURL}/92/[#92], link:{pullURL}/158/[#158], link:{pullURL}/243/[#243]
** Documentation:
*** Did cosmetic tweaks to existing contents of the User Guide: https://github.com[#14]
*** Did cosmetic tweaks to existing contents of the Developer Guide: link:{pullURL}/118/[#118], link:{pullURL}/128/[#128]
** Community:
*** PRs reviewed (with non-trivial review comments): link:{pullURL}/58/[#58],
*** Contributed to forum discussions (examples: )
*** Reported bugs and suggestions for other teams in the class (examples: )
*** Some parts of the history feature I added was adopted by several other class mates ()
*** PRs reviewed (with non-trivial review comments): link:{pullURL}/58/[#58], link:{pullURL}/232/[#232]
*** Enquired about and resolved a team issue on the forum: https://github.com/nus-cs2103-AY1819S1/forum/issues/134[#134]
** Tools:
*** Integrated a third party library (Natty) to the project ()
*** Integrated a new Github plugin (CircleCI) to the team repo
*** Integrated a new Github plugin (Coveralls) to the team repository

_{you can add/remove categories in the list above}_

== Contributions to the User Guide

Expand All @@ -70,9 +66,5 @@ include::../UserGuide.adoc[tag=eventmanagement]

include::../DeveloperGuide.adoc[tag=eventmanagement]

include::../DeveloperGuide.adoc[tag=command-overview]

== PROJECT: PowerPointLabs

---

_{Optionally, you may include other projects in your portfolio.}_

0 comments on commit e9f708a

Please sign in to comment.