Skip to content

Commit

Permalink
Merge pull request #105 from bennchong/master
Browse files Browse the repository at this point in the history
User Guide for Tomorrow
  • Loading branch information
nianfei97 committed Nov 2, 2018
2 parents 08d9436 + 950a6e9 commit 8c4bbe1
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 28 deletions.
37 changes: 16 additions & 21 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window.

The timetable content is locked, and it requires a user to either login with a pre-existing account, or register a new one.

NOTE: The application has a default user with username: *test* and password: *test*

There are five security related commands that can be entered on this command line:

1. `login`
Expand All @@ -68,12 +70,12 @@ There are five security related commands that can be entered on this command lin
5. `exit`

.Login Page with Command Prompts
image::Login Page.png[width="790"]
image::LoginPage.png[width="790"]

At this page you will have to enter your credentials to log in. Only then would you be able to edit and view your own timetable,
and view your friends' timetable. +

Friends are other users that you have "friended", and all users start off without
TIP: Friends are other users that you have "friended", and all users start off without
having any friends. +

The timetable that belongs to users that are not your friends will not be available to you, till you
Expand All @@ -90,8 +92,7 @@ Examples:
* `login tim tam` +
Logins with Username: tim and Password: tam

Constraints:

CAUTION: Constraints: +
* Username and Password must not contain any spaces

==== Registering: `register`
Expand All @@ -101,10 +102,8 @@ Examples:

* register tim tam tim@tam.com 88888888 Tammy

Constraints:

* Currently all fields must not have spaces too

CAUTION: Constraints: +
* Currently all fields must not have spaces too +
* All fields must be entered

==== Showing the UI Interface: `ui`
Expand Down Expand Up @@ -137,6 +136,7 @@ Command: `exit`
This command closes the application without logging you out. It is recommended to logout before doing this, or the changes
to your timetable might be lost.
// end::security[]

=== Viewing help : `help` (`h`)

Displays the userguide from within the app.
Expand All @@ -147,27 +147,22 @@ Format: `help`
Shows a list of all persons in the address book. +
Format: `list`

=== Editing a person : `edit` (`e`)
=== Editing a person : `edit` (`e`) (DOES NOT WORK IN V1.3)

Edits an existing person in the address book. +
Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...`
Edits your information in the address book. +
Format: `edit [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...`

****
* Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index *must be a positive integer* 1, 2, 3, ...
* At least one of the optional fields must be provided.
* Existing values will be updated to the input values.
* When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
* You can remove all the person's tags by typing `t/` without specifying any tags after it.
****

Examples:

* `edit 1 p/91234567 e/johndoe@example.com` +
Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively.
* `edit 2 n/Betsy Crower t/` +
Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags.

=== Locating persons by name : `find` (`f`)
=== Locating persons by name : `find` (`f`) (DOES NOT WORK IN V1.3)

Finds persons whose names contain any of the given keywords. +
Format: `find KEYWORD [MORE_KEYWORDS]`
Expand Down Expand Up @@ -370,7 +365,7 @@ Pressing the kbd:[↑] and kbd:[↓] arrows will display the previous and
====

// tag::undoredo[]
=== Undoing previous command : `undo` (`u`)
=== Undoing previous command : `undo` (`u`) (DOES NOT WORK IN V1.3)

Restores the address book to the state before the previous _undoable_ command was executed. +
Format: `undo`
Expand All @@ -396,7 +391,7 @@ The `undo` command fails as there are no undoable commands executed previously.
`undo` (reverses the `clear` command) +
`undo` (reverses the `delete 1` command) +

=== Redoing the previously undone command : `redo` (`r`)
=== Redoing the previously undone command : `redo` (`r`) (DOES NOT WORK IN V1.3)

Reverses the most recent `undo` command. +
Format: `redo`
Expand All @@ -419,7 +414,7 @@ The `redo` command fails as there are no `undo` commands executed previously.
`redo` (reapplies the `clear` command) +
// end::undoredo[]

=== Clearing all entries : `clear` (`c`)
=== Clearing all entries : `clear` (`c`) (DOES NOT WORK IN V1.3)

Clears all entries from the address book. +
Format: `clear`
Expand Down
Binary file removed docs/images/Login page.png
Binary file not shown.
File renamed without changes
23 changes: 16 additions & 7 deletions docs/team/bennchong.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,17 @@
== Overview


FreeTime is a security-enabled desktop application that is used for finding mutually availble slots between its users. This
available slot will be displayed for the user to choose from, which will be reflected in his timetable using our FreeTime GUI.
FreeTime(TM) is a security-enabled desktop application that is used for finding mutually availble slots between its users. This
available slot will be displayed for the user to choose from, which will be reflected in his timetable using our FreeTime
Graphical User Interface (GUI).

This project portfolio would be introducing you to my team that has developed this product in the span of a semester. In addition to giving you a brief general overview of this application
feature, I would be going indepth into the details on how my own features are implemtented. This is to give you a deeper understanding of what contributions that I have done within this project,
and hopefully you would perhaps also learn something along the way.

So sit tight, and let me tell you more about FreeTime.
So sit tight, and let me tell you more about _FreeTime_.

== FreeTime Features
== FreeTime(TM) Features
In addition to essential security features such as login and registering, we have a clean, minimalistic landing page that is user-friendly.

Users can import preexisting timetables that are taken from Google Calander or any other calander application that saves their data into the commonly used .ics format. This handy feature allows
Expand All @@ -30,16 +31,24 @@ this particular group of friends.

Using the command `freetime`, you would be presented with a timetable that shows you what are your common free slots are. Thus you are freed from the painful moments of finding a common free slot in huge groups.

NOTE: More information below in User Guide


== Summary of contributions
In this section, I would be briefly telling you about my contributions to this project, and any interesting points that you could find useful.


GIVE THE REASON WHY. USE LONGER SENTENCE BELOW

* *Major enhancement*: added *the ability to authenticate users*
** What it does: Allows the users to have unique access and control to his own timetable
** Justification: To prevent malicious users to edit other users' timetable, and to introduce different privacy levels. Other users that you are friends with allows you to view their
timetables and find common slots with them.
** Highlights: Other than having the ability to add friends, you are now able to add groups since each users are differentiated from each other
** Justification: To be able to prevent others from editing your own timetable, and to facilitate different privacy levels.
Privacy levels are given to users to have control over what they feel comfortable sharing between strangers and friends.
** Highlights: Not only have I learnt how to implement features, I have to also consider the implications of having some
of them implemented. For example, to have an extra level of security such as 2FA(Factor Authorization) step might seem beneficial,
but does this application warrants the extra steps to log in? Not so in my opinion.

Other than having the ability to add friends, you are now able to add groups since each users are differentiated from each other


* *Minor enhancement*: Used a hashing feature together with a salt to store user's password
Expand Down

0 comments on commit 8c4bbe1

Please sign in to comment.