From b35443c4c4d80bb19bafb27453505e2d48ca6b72 Mon Sep 17 00:00:00 2001 From: Kyomian Date: Tue, 13 Mar 2018 21:02:34 +0800 Subject: [PATCH 1/2] Change README, AboutUs, target user, and name of app --- README.adoc | 17 ++++++--------- docs/AboutUs.adoc | 46 +++++++++++++++++----------------------- docs/DeveloperGuide.adoc | 14 ++++++------ docs/UserGuide.adoc | 2 +- 4 files changed, 34 insertions(+), 45 deletions(-) diff --git a/README.adoc b/README.adoc index 05585182066e..5b4b29eeb6e3 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,4 @@ -= Task Manager += CLIndar ifdef::env-github,env-browser[:relfileprefix: docs/] https://travis-ci.org/CS2103JAN2018-W13-B3/main[image:https://travis-ci.org/CS2103JAN2018-W13-B3/main.svg?branch=master[Build Status]] @@ -8,31 +8,26 @@ https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_m https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] ifdef::env-github[] -image::docs/images/Ui.png[width="600"] +image on hold endif::[] ifndef::env-github[] -image::images/Ui.png[width="600"] +image on hold endif::[] -* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). -* It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language. -* It is *written in OOP fashion*. It provides a *reasonably well-written* code example that is *significantly bigger* (around 6 KLoC)than what students usually write in beginner-level SE modules. -* What's different from https://github.com/se-edu/addressbook-level3[level 3]: -** A more sophisticated GUI that includes a list panel and an in-built Browser. -** More test cases, including automated GUI testing. -** Support for _Build Automation_ using Gradle and for _Continuous Integration_ using Travis CI. +* CLindar is a desktop application that helps university computing students to manage their tasks and events. +* It is a GUI app but most of its user interaction is CLI (Command Line Interface)-based, which computing students are familiar with. == Site Map * <> * <> -* <> * <> * <> == Acknowledgements +* This app was based on Addressbook - Level 4, developed by the https://github.com/se-edu/[se-edu] team. * Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by _Marco Jakob_. * Libraries used: https://github.com/TomasMikula/EasyBind[EasyBind], https://github.com/TestFX/TestFX[TextFX], https://bitbucket.org/controlsfx/controlsfx/[ControlsFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/google/guava[Guava], https://github.com/junit-team/junit4[JUnit4] diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 0f0a8e7ab51e..bdc242963016 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -3,53 +3,47 @@ :imagesDir: images :stylesDir: stylesheets -AddressBook - Level 4 was developed by the https://se-edu.github.io/docs/Team.html[se-edu] team. + +CLIndar was developed by the CS2103JAN2018-W13-B3 team. + _{The dummy content given below serves as a placeholder to be used by future forks of the project.}_ + {empty} + We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore]. == Project Team -=== John Doe -image::damithc.jpg[width="150", align="left"] -{empty}[http://www.comp.nus.edu.sg/~damithch[homepage]] [https://github.com/damithc[github]] [<>] +=== Jarrett Choo -Role: Project Advisor +{empty}[https://github.com/Kyomian[github]] + +Role: To Be Confirmed +Responsibilities: Logic ''' -=== John Roe -image::lejolly.jpg[width="150", align="left"] -{empty}[http://github.com/lejolly[github]] [<>] +=== Jasmond Toh + +{empty}[http://github.com/jasmoon[github]] -Role: Team Lead + +Role: To Be Confirmed Responsibilities: UI ''' -=== Johnny Doe -image::yijinl.jpg[width="150", align="left"] -{empty}[http://github.com/yijinl[github]] [<>] +=== Karen Frilya -Role: Developer + -Responsibilities: Data +{empty}[http://github.com/karenfrilya97[github]] + +Role: To Be Confirmed +Responsibilities: Storage ''' -=== Johnny Roe -image::m133225.jpg[width="150", align="left"] -{empty}[http://github.com/m133225[github]] [<>] +=== Yuan Quan -Role: Developer + -Responsibilities: Dev Ops + Threading +{empty}[http://github.com/m133225[github]] -''' +Role: To Be Confirmed +Responsibilities: Model -=== Benson Meier -image::yl_coder.jpg[width="150", align="left"] -{empty}[http://github.com/yl-coder[github]] [<>] +''' -Role: Developer + -Responsibilities: UI -''' diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 2ffd0c193384..0c0ef4a247ab 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -1,4 +1,4 @@ -= AddressBook Level 4 - Developer Guide += CLIndar - Developer Guide :toc: :toc-title: :toc-placement: preamble @@ -12,7 +12,7 @@ ifdef::env-github[] endif::[] :repoURL: https://github.com/CS2103JAN2018-W13-B3/main/tree/master -By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` +By: `CS2103JAN2018-W13-B3`      Since: `Mar 2018`      Licence: `MIT` == Setting up @@ -780,18 +780,18 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- [appendix] == Product Scope -*Target user*: University students +*Target user*: Computing University students *Target user profile*: -* has a need to manage a significant number of assignments and events +* has a need to manage a significant number of tasks and events * prefer desktop apps over other types * can type fast * prefers typing over mouse input -* is reasonably comfortable using CLI apps +* is reasonably comfortable using Linux-style commands and CLI apps -*Value proposition*: The user will have all their assignment and event -tasks in one app. This creates convenience for the user. The CLI also makes it +*Value proposition*: The user will have all their tasks and events in one app. +This creates convenience for the user. The CLI also makes it faster than a typical mouse/GUI-driven app [appendix] diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 9e4cd4578489..6f502b6eba54 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -1,4 +1,4 @@ -= AddressBook Level 4 - User Guide += CLIndar - User Guide :toc: :toc-title: :toc-placement: preamble From af16e16ec6f8d5d85f7c19c94fa4101bc15b7c91 Mon Sep 17 00:00:00 2001 From: Kyomian Date: Tue, 13 Mar 2018 21:42:47 +0800 Subject: [PATCH 2/2] Reviewed use cases and changed assignment to task --- docs/AboutUs.adoc | 2 +- docs/DeveloperGuide.adoc | 106 +++++++++++++++++++-------------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index bdc242963016..1294c80bd29b 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -39,7 +39,7 @@ Responsibilities: Storage === Yuan Quan -{empty}[http://github.com/m133225[github]] +{empty}[http://github.com/YuanQQLer[github]] Role: To Be Confirmed Responsibilities: Model diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 0c0ef4a247ab..06497fd66978 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -780,7 +780,7 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- [appendix] == Product Scope -*Target user*: Computing University students +*Target user*: University Computing students *Target user profile*: @@ -804,7 +804,7 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |Priority |As a ... |I want to ... |So that I can... |`* * *` |new user |see usage instructions |figure out how to use the application -|`* * *` |student |add a new assignment |record a new assignment to remind myself +|`* * *` |student |add a new task |record a new task to remind myself |`* * *` |student |add a new event |record a new event to remind myself @@ -812,59 +812,59 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |`* * *` |student |add items to bring for an event |attend an event with all the required items -|`* * *` |student |view upcoming assignments (in order of earliest to latest) |manage my time and finish my tasks on time +|`* * *` |student |view upcoming tasks (in order of earliest to latest) |manage my time and finish my tasks on time |`* * *` |student |view upcoming events (in order of earliest to latest) |attend my events |`* * *` |student |view free time slots |arrange for other events -|`* * *` |student |change the deadline of an assignment |adjust my schedule when a deadline changes +|`* * *` |student |change the deadline of a task |adjust my schedule when a deadline changes |`* * *` |student |change the time of an event |see the updated schedule in case there are changes |`* * *` |student |change the location of an event |be in the right location when the location changes -|`* * *` |student |delete an assignment |remove assignments I no longer need to complete +|`* * *` |student |delete a task |remove tasks I no longer need to complete |`* * *` |student |delete an event |remove events I no longer need to attend -|`* * *` |student |find an assignment by name |locate details of an assignment without having to go through the entire list +|`* * *` |student |find a task by name |locate details of a task without having to go through the entire list |`* * *` |student |find an event by name |locate details of an event without having to go through the entire list -|`* * *` |student |mark an assignment as complete |tell which assignments are completed and which are not +|`* * *` |student |mark a task as complete |tell which tasks are completed and which are not -|`* * *` |student |view completed assignments |be assured I have completed an assignment +|`* * *` |student |view completed tasks |be assured I have completed a task -|`* * *` |forgetful student |view overdue assignments |be assured I did not miss any deadline +|`* * *` |forgetful student |view overdue tasks |be assured I did not miss any deadline -|`* * *` |forgetful student |get notification for upcoming assignments |never forget to complete my assignments +|`* * *` |forgetful student |get notification for upcoming tasks |never forget to complete my tasks |`* * *` |forgetful student |get notification for upcoming events |never forget to attend my events -|`* *` |busy student |sort assignments based on priority |allocate sufficient time for each assignment +|`* *` |busy student |sort tasks based on priority |allocate sufficient time for each task -|`* *` |busy student |filter assignments based on time period |view only assignments with deadlines within a certain time period +|`* *` |busy student |filter tasks based on time period |view only tasks with deadlines within a certain time period |`* *` |busy student |filter events based on time period |view only events within a certain time period -|`* *` |busy student |filter assignments based on tags |view only certain assignments when there are too many assignments to view +|`* *` |busy student |filter tasks based on tags |view only certain tasks when there are too many tasks to view |`* *` |busy student |filter events based on tags |view only certain events when there are too many events to view -|`* *` |procrastinating student |add estimated time needed to complete an assignment |estimate when to start on an assignment to complete it on time +|`* *` |procrastinating student |add estimated time needed to complete a task |estimate when to start on a task to complete it on time -|`* *` |procrastinating student |view contact details of person in-charge for a deadline extension |have enough time to complete my assignments despite my tight schedule +|`* *` |procrastinating student |view contact details of person in-charge for a deadline extension |have enough time to complete my task despite my tight schedule |`* *` |busy student |view free time slots before a deadline |know how much time I have when I'm actually free to finish my tasks |`* *` |student |view common free time slots among my group mates |arrange a group meeting -|`* *` |organised student |add multiple deadlines for an assignment |keep track of project progress +|`* *` |organised student |add multiple deadlines for a task |keep track of project progress |`* *` |NUS student |import timetable from NUSMods |avoid the trouble of keying in my lecture and tutorial schedules manually -|`*` |student |be rewarded for completing an assignment |feel a sense of achievement +|`*` |student |be rewarded for completing a task |feel a sense of achievement |`*` |student |hide private events |minimize chance of someone else seeing them by accident |======================================================================= @@ -872,88 +872,88 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un [appendix] == Use Cases -(For all use cases below, the *System* is the `TaskManager` and the *Actor* is the `user`, unless specified otherwise) +(For all use cases below, the *System* is the `CLIndar` and the *Actor* is the `User`, unless specified otherwise) [discrete] -=== Use case: Add assignment +=== Use case: Add task *MSS* -1. User requests to add in new assignment -2. User supplies the detail of assignment as format specified by the command -3. The details of assignment is parsed and checked by the TaskManager -4. TaskManager adds in the task. +1. User adds a task into CLIndar by typing a command +2. CLIndar parses command typed and adds in the task ++ +Use case ends. *Extensions* [none] -*3a. The details of assignment does not match the format or invalid +*2a. CLIndar detects that the format of the command typed is invalid + [none] -** 3a1. TaskManager shows an error message. +** 3a1. CLIndar shows an error message + -Use case ends +Use case ends. === Use case: Add events *MSS* -1. User requests to add in new event -2. User supplies the detail of event as format specified by the command -3. The details of event is parsed and checked by the TaskManager -4. TaskManager adds in the event. +1. User adds an event into CLIndar by typing a command +2. CLIndar parses command typed and adds in the event ++ +Use case ends. *Extensions* [none] -*3a. The details of event does not match the format or invalid +*3a. CLIndar detects that the format of the command typed is invalid + [none] -** 3a1. TaskManager shows an error message. +** 3a1. CLIndar shows an error message + -Use case ends +Use case ends. -=== Use case: Complete assignment +=== Use case: Complete task *MSS* -1. User requests to mark an assignment as completed -2. TaskManager shows a list of uncompleted assignments. -3. The user selects the task to be marked as completed by the index. -4. TaskManager mark the selected assignment as completed/ +1. User requests to mark a task as completed by typing a command +2. CLIndar shows a list of uncompleted tasks +3. User selects the task to be marked as completed by the index +4. CLIndar marks the selected task as completed + Use case ends. *Extensions* [none] -* 2a. The list is empty. +* 2a. The list is empty + Use case ends. * 3a. The given index is invalid. + [none] -** 3a1. TaskManager shows an error message. +** 3a1. CLIndar shows an error message + Use case resumes at step 2. -=== Use case: Show urgent assignment +=== Use case: Show urgent task *MSS* -1. User requests to show all assignments before a certain date. -2. TaskManager shows a list of uncompleted assignments with deadline before the provided date. +1. User requests to show all tasks before a certain date by typing a command +2. CLIndar shows a list of uncompleted tasks with deadline before the provided date + Use case ends. *Extensions* -* 1a. The given date is invalid. +* 1a. The given date is invalid + [none] -** 1a1. TaskManager shows an error message. +** 1a1. CLIndar shows an error message + Use case resumes at step 1. @@ -967,7 +967,7 @@ _{More to be added}_ == Non Functional Requirements . Should work on any <> as long as it has Java `1.8.0_60` or higher installed. -. Should be able to hold up to 500 assignments and 500 events without a noticeable sluggishness in performance for typical usage. +. Should be able to hold up to 500 tasks and 500 events without a noticeable sluggishness in performance for typical usage. . A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. . The system should respond within two seconds when the user enters a command. . The system CLI commands should be easy to remember for the average English speaker. @@ -979,17 +979,17 @@ _{More to be added}_ [appendix] == Glossary -[[assignments]] Assignments:: -A particular task or duty assigned by in this case a professor. +[[tasks]] Tasks:: +A particular work assigned by a professor. [[completed]] Completed:: -An assignment or event that has finished. +A task or event that has finished. [[deadline]] Deadline:: -The date and time by which an event will happen or an assignment is due. +The date and time by which an event will happen or a task is due. [[duration]] Duration:: -The amount of time left to complete an assignment or prepare for an event. +The amount of time left to complete a task or prepare for an event. [[events]] Events:: A thing that will occur in a certain place at a particular interval of time. @@ -1004,13 +1004,13 @@ Windows, Linux, Unix, OS-X A contact detail that is not meant to be shared with others. [[overdue]] Overdue:: -An assignment that has not been completed past the deadline. +A task that has not been completed past the deadline. [[things-to-bring]] Things to bring:: Things to be brought for an event that is going to happen. [[urgent]] Urgent:: -An assignment due or event that will happen within the next 24 hours. +A task due or event that will happen within the next 24 hours. [appendix] == Product Survey