owned this note
owned this note
Published
Linked with GitHub
# CS2103T T13 -3 Notes
###### tags: `public`
## v1.2
### User stories, User persona
[User Stories - Google Sheet](https://docs.google.com/spreadsheets/d/1Wnxh09G_kulcrVm8KdVAO8Plp0QbcuYURpJgDAsRJ8A/edit?usp=sharing)
[User Persona - Google Docs](https://docs.google.com/document/d/10sCbxKIGwXaMuc7OAX-FBAqKdgKGCFyxBUurQ1taiLY/edit?usp=sharing)
[v1.2 Features Demo](https://imgur.com/a/loBT8Cb)
[v1.3 Features Demo](#v1.3-features-demo)
### Syntax Help
| Type | Acronym |
| -------- | -------- |
| Client | c |
| Session | s |
| Schedule | sch |
<br>
### Command Summary
| Common Commands | Action | Format | Example |
| ------ | ---------| -------- | --------- |
| General Commands | Open Home Page | `home` | `home`|
| | Open Help Window | `help` | `help`|
| | Open Settings Window | `settings` | `settings`|
| | Clear all data | `clear` | `clear` |
| | Exit this program | `exit` | `exit`|
| Add | Add Client Info | `cadd n/NAME p/PHONE_NUMBER e/EMAIL [t/TAG]`| `cadd n/Jane Doe p/91234567 e/jane@gmail.com`|
| | Add a Session | `sadd g/GYM_NAME ex/EXERCISE_TYPE at/START_TIME t/DURATION` | `sadd g/Machoman Gym ex/Endurance at/29/09/2020 1600 t/120` |
| | Create a Schedule |`schadd c/CLIENT_INDEX s/SESSION_INDEX`| `schadd c/1 s/3`|
| Edit | Edit Client Info | `cedit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]`| `cedit 1 n/Janie Doe`|
| | Edit Session Info |`sedit INDEX [g/GYM_NAME] [ex/EXERCISE_TYPE] [at/START_TIME t/DURATION]` | `sedit 1 g/Machoman at/29/09/2020 1600 t/120`|
| | Edit a Schedule |`schedit c/CLIENT_INDEX s/SESSION_INDEX [us/UPDATED_SESSION_INDEX] [pd/PAYMENT_STATUS] [r/REMARK] [w/WEIGHT]`| `schedit c/1 s/1 us/1 pd/paid r/did 5 pushups w/70kg` |
| Delete | Delete Client Info |`cdel INDEX [f/]` |`cdel 1`|
| | Delete a Session |`sdel INDEX [f/]` | `sdel 1` |
| | Delete a Schedule |`schdel c/CLIENT_INDEX s/SESSION_INDEX` | `schdel c/2 s/3` |
| List/View | List All Clients | `clist` | `clist` |
| | View a Client's Full Profile | `cview INDEX` | `cview 1`|
| | View Sessions within Period|`sview p/PERIOD ` | `sview p/all`|
| Find | Find Client by Name | `cfind KEYWORD [MORE_KEYWORDS]`| `cfind John Doe`|
### Feature List
1. add, edit, delete, find, view clients
2. add, edit, delete, view sessions
3. assign, unassign client to gym session
<br>
### Current Ui

#### Features / Commands summary
##### navigation
- Viewing help: `help`
- Exiting a program: `exit`
##### clients
- Adding a client: `cadd n/NAME p/PHONE_NUMBER e/EMAIL [t/TAG]`
- calls "Adding a session" flow (optional)
- Updating a client: `cedit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]`
- Deleting client: `cdel INDEX`
- Listing all clients: `clist`
- Find client by name: `cfind KEYWORD [MORE_KEYWORDS]`
##### sessions
- Adding a session: `sadd s/SESSIONTYPE dt/DATETIME dur/DURATION g/GYM_NAME`
- Schedule a client to a session: `schedule c/CLIENT_INDEX s/SESSION_INDEX`
- Deschedule a client a session : `deschedule rm c/CLIENT_INDEX s/SESSION_INDEX`
- Deschedule a client a session : `reschedule rm c/CLIENT_INDEX s/SESSION_INDEX`
- Updating a session: `sedit INDEX [s/SESSIONTYPE] [dt/DATETIME] [dur/DURATION] [g/GYM_NAME]`
- Deleting a session: `sdel INDEX`
- Client (Class)
- Add clients (**ClientID**, First Name, Last Name, Age, DOB, Weight, Height, Contact)
- update clients
- Remove clients
- GymSession (Class)
- Add, Edit, Delete (session type, **DateTime**: `14/09/2020 1300`, duration, location)
- Schedule (As a collection of sessions)
- View Allocated Schedule (for today - v1.2)
## v1.25 and beyond (Stretch Goals)
- should every object have its own unique identifier, some sort of 5-digit num (?) if add, edit, delete session need session index then yes, need unique id e.g. 00001
- view all session by client
- view all session by date / today: `sfind d/DATE`
- Search client by initials
- Implement gym object (Name, Address, Phone Number)
- Add gym `gadd n/NAME a/ADDRESS p/PHONE_NUMBER`
- update gym location `gedit`
- delete gym location `gdel`
- list all gym locations `glist`
## v1.2 Post Mortem
### What worked well
- All of us are assigned to one or two user stories at the beginning of the iteration
- We managed to finish implementing the user stories
### What didn't work
- We are a bit slowed down because we had some midterms during week 7 & 8
- As we are implementing those features, a few of them conflict with each other, surfacing newer issues that have to be corrected
### Plans to improve the process
- We could discuss the implementation of the feature with the other group members before going head on to code the feature out
- Use branching workflow to allow other members test features currently not in the master branch
## v1.3 features demo
Below are the screenshot of calliing the commands in FitEgo (the command box is actually automatically cleared, but shown here for the sake of clarity)
Add Client

Edit Client

Delete Client

View Client

View Client's Schedule & Remarks

View Client's Weight over different sessions

Find Client

Add Schedule

Edit Schedule

Delete Schedule

Home

Clear

Help

Settings

Add Session (Conflict) - Similar to Add Client (Conflict)

Add Session (Success)

Edit Session

Delete Session (Force)

Delete Session (No Force)

Session View

For more information, please refer to our [User Guide](https://ay2021s1-cs2103t-t13-3.github.io/tp/UserGuide.html) and [Developer Guide](https://ay2021s1-cs2103t-t13-3.github.io/tp/DeveloperGuide.html)