Skip to content

Commit

Permalink
Merge branch 'master' into branch-optimisation
Browse files Browse the repository at this point in the history
  • Loading branch information
weenleen committed Nov 8, 2021
2 parents a68e909 + 7ccdd11 commit b977330
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 32 deletions.
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,10 @@

![Ui](docs/images/Ui.png)

* tApp is a desktop app for managing contacts, optimized for use via a Command Line Interface (CLI).<br>
* tApp is a desktop app for tutors to manage students, optimized for use via a Command Line Interface (CLI).<br>
Example usages:
* for busy and forgetful TAs to help keep track of their tasks
* keep track of student participation and attendance
* The project simulates an ongoing software project for a desktop application (called _tApp_) used for managing TA tasks and student progress.
* It is **written in OOP fashion**.
* It comes with a **reasonable level of user and developer documentation**.
* It is named `tApp` because it is created to be an app for TAs to use.
* keep track of student particulars, attendance/participation, GitHub repository links
* keep track of CS2103 groupings
* keep track of different kinds of tasks with priority tagging
* For the detailed documentation of this project, see the **[tApp Product Website](https://ay2122s1-cs2103-w14-4.github.io/tp/)**.
* This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).
4 changes: 2 additions & 2 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -285,13 +285,13 @@ In this example, we explore the `marka` command.
1. If the student is originally marked as absent, the method toggles his attendance to present.
1. If the student is originally marked as present, the method toggles his attendance to absent.
1. If the student belongs to a group, the group's student list will be updated with the updated student.
1. Steps 3 to 6 are repeated for the next student, until all the specified students' attendance are marked as either present or absent.
1. Steps 3 to 6 are repeated for the next student, until all the specified students' attendance are toggled.
1. A new `CommandResult` is returned, switching the current display to the updated student list.
1. Note: An error message will be thrown if: student index out of bounds, duplicate student index in the command, invalid week, invalid command format, invalid type of argument.

During the execution of `MarkStudentAttCommand`, the student list will be updated according to the arguments supplied.

The following diagram shows the summarised workflow of a typical MarkStudentAtt command.
The following diagram shows the summarised workflow of a typical `marka` command.

![Activity Diagram of Mark Student Attendance Command](images/MarkStudentAttActivityDiagram.png)

Expand Down
9 changes: 5 additions & 4 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ Format: `addStudent n/NAME e/EMAIL s/STUDENTNUMBER [u/GITHUB USERNAME] [r/REPO N
- have each `domain label` consist of alphanumeric characters, separated only by hyphens, if any
* If only either `GITHUB USERNAME` or `REPO NAME` are specified, the data will still be saved but not shown.
* If the same student is edited and the remaining empty data field is entered, a proper GitHub link will be shown.
* `TAG` has a character limit of 20 and must be alphanumeric with no spaces.

Examples:
* `addStudent n/John Doe e/[email protected] s/A0123456B u/user r/ip t/friends t/owesMoney` adds John Doe to the list
Expand All @@ -110,8 +111,7 @@ Format: `editStudent INDEX [n/NAME] [s/STUDENT_NUMBER] [e/EMAIL] [r/REPO_NAME] [
* 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 student will be removed i.e adding of tags is not cumulative.
* You can remove all the student’s tags by typing `t/` without
specifying any tags after it.
* You can remove all the student’s tags by typing `t/` without specifying any tags after it.
* This command flags out indexes less than 1 first, before missing fields, ensuring the validity of the fields, and finally the validity of index that is greater than 0. (If an invalid index greater than 0 is entered with no or wrong fields, the command would not check the validity of the index)

Examples:
Expand Down Expand Up @@ -222,6 +222,7 @@ Format: `addGroup g/GROUP_NAME [r/REPO_NAME] [y/YEAR] [t/TAG]...`
* `GROUP_NAME` must be contain a character, followed by 2 digits, a dash (-), followed by another digit.
The case of the character does not matter.
* `YEAR` represents the year field used in CS2103 GitHub links and not an actual calendar year. Input is therefore flexible to allow for changes in year formatting
* `TAG` has a character limit of 20 and must be alphanumeric with no spaces.

Examples:
* `addGroup g/W15-4 y/AY2122S1 r/tp t/tApp` adds group W15-4 to the list and displays a confirmation output with GitHub link and no
Expand All @@ -241,8 +242,7 @@ Format: `editGroup INDEX [g/GROUP_NAME] [r/REPO_NAME] [y/YEAR] [t/TAG]…​`
* 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 group will be removed i.e adding of tags is not cumulative.
* You can remove all the group’s tags by typing `t/` without
specifying any tags after it.
* You can remove all the group’s tags by typing `t/` without specifying any tags after it.
* Similar to `editStudent` this command flags out index values less than 1 first, before missing fields, ensuring the validity of the fields, and finally the index that is greater than 0.

Examples:
Expand Down Expand Up @@ -343,6 +343,7 @@ Format: `todo n/TASK_NAME [d/DESCRIPTION] [p/TASK_PRIORITY] [t/TAG]…​`
* A combination of different priority levels are not accepted.
* Tasks that are not specified a priority level will be by default Low Priority.
* `DESCRIPTION` should only contain ASCII characters.
* `TAG` has a character limit of 20 and must be alphanumeric with no spaces.

Examples:
* `todo n/play` creates the todo task "play" with the default LOW Priority.
Expand Down
20 changes: 8 additions & 12 deletions docs/diagrams/MarkStudentAttActivityDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,16 @@ if () then ([valid format])
:Parses the ""marka"" command, separate
student index(es) and week prefix args;

while () is ([else])
repeat :Checks student's attendance status for given week;
if () then ([present for given week])
:Marks student as absent for the given week;

:Checks student's attendance
status for given week;
else ([else])
:Marks student as present for the given week;

if () then ([present for given week])
:Marks student as absent for the given week;

else ([else])
:Marks student as present for the given week;

endif

endwhile ([reached the end of the list])
endif
repeat while () is ([more unmarked students in list])
-> [else];

:Displays all matching students to user;
:Show success status message;
Expand Down
Binary file modified docs/images/MarkStudentAttActivityDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: page
title: tApp
---

[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions)
[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/AY2122S1-CS2103-W14-4/tp/actions)
[![codecov](https://codecov.io/gh/AY2122S1-CS2103-W14-4/tp/branch/master/graph/badge.svg?token=4CJCMBYU5I)](https://codecov.io/gh/AY2122S1-CS2103-W14-4/tp)

![Ui](images/Ui.png)
Expand Down
12 changes: 6 additions & 6 deletions docs/team/wanninglim.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ tApp is a desktop app for managing tutorial groups and personal tasks, optimized

Given below are my contributions to the project.

* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2122s1.github.io/tp-dashboard/#breakdown=true&search=wanninglim)

* **New Feature**: Added the ability to delete a student from a list.
* What it does:
- Allows the user to delete a student from the student list.
Expand All @@ -30,24 +32,22 @@ Given below are my contributions to the project.
* Justification: Searching through partial words offers a better search experience for the user. If there is a student's name the TA cannot seem to remember, searching by his/her partial name will narrow down the search results. Furthermore, in the event of a typo, the user will not need to correct their mistakes everytime as the parser automatically removes certain characters that are not allowed.
* Highlights: This enhancement was challenging, especially to improve the time complexity of the find feature using `String::contains`.
* Credits: Transformed AB3's existing find feature to allow a better user experience for search.

* **New Feature**: Added the ability to clear (purge) students list and groups list.
* What it does:
- Allows the user to purge the students and groups list after trying out sample data, or when he wants to start a new semester with new students.
- Clearing students will clear the student and group list, but keep the group names intact (empty groups with no students).
- Clearing groups will clear the groups list and clear all references in the attribute `groupName` for all students.
* Justification: This feature improves the product significantly, on top of the `clearAll` feature, as it allows the user to have more flexibility in choosing what data to purge at any time.
* Highlights: There was a need to properly understand which data needs to be removed when each command was made.
* Highlights: There was a need to properly understand which data needs to be removed when each command was made, and also understand how the different components interact with one another using a `filteredList`.
* Credits: Transformed AB3's existing clear feature to allow a better user experience on purging unused data.

* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2122s1.github.io/tp-dashboard/#breakdown=true&search=wanninglim)

* **Enhancements to existing features**:
* Made cosmetic changes to GUI to improve the design (Pull request [\#140](https://github.com/AY2122S1-CS2103-W14-4/tp/pull/140)
* Added a reusable method to parse multiple commands without duplicates [\#228](https://github.com/AY2122S1-CS2103-W14-4/tp/pull/228)
* Added sample data for groups and tasks [\#243](https://github.com/AY2122S1-CS2103-W14-4/tp/pull/243)
* Wrote tests for all new features implemented.

* **Documentation**:
* User Guide:
* Added documentation for the features `deleteStudent`, `marka`, `markp`, `findStudent`, `findGroup`, `clearStudents`, `clearGroups`
Expand All @@ -57,7 +57,7 @@ Given below are my contributions to the project.

* **Community**:
* PRs reviewed (with non-trivial review comments): [\#238](https://github.com/AY2122S1-CS2103-W14-4/tp/pull/238), [\#150](https://github.com/AY2122S1-CS2103-W14-4/tp/pull/150), [\#99](https://github.com/AY2122S1-CS2103-W14-4/tp/pull/99)

* **Team tasks**:
* Setting up the GitHub team org/repo + codecov
* General code enhancements: Renaming product, changing product icon, changing product image
Expand Down

0 comments on commit b977330

Please sign in to comment.