Skip to content

Commit

Permalink
Merge branch 'master' into about-us
Browse files Browse the repository at this point in the history
  • Loading branch information
Jolonauh committed Mar 3, 2024
2 parents 0b0610b + 311f070 commit 705c814
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 26 deletions.
38 changes: 27 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,31 @@
[![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/AY2324S2-CS2103T-W12-4/tp/actions)
[![codecov](https://codecov.io/gh/AY2324S2-CS2103T-W12-4/tp/graph/badge.svg?token=F5OYT9DURR)](https://codecov.io/gh/AY2324S2-CS2103T-W12-4/tp)

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

* This is **a sample project for Software Engineering (SE) students**.<br>
Example usages:
* as a starting point of a course project (as opposed to writing everything from scratch)
* as a case study
* The project simulates an ongoing software project for a desktop application (called _AddressBook_) used for managing contact details.
* It is **written in OOP fashion**. It provides a **reasonably well-written** code base **bigger** (around 6 KLoC) than what students usually write in beginner-level SE modules, without being overwhelmingly big.
* It comes with a **reasonable level of user and developer documentation**.
* It is named `AddressBook Level 3` (`AB3` for short) because it was initially created as a part of a series of `AddressBook` projects (`Level 1`, `Level 2`, `Level 3` ...).
* For the detailed documentation of this project, see the **[Address Book Product Website](https://se-education.org/addressbook-level3)**.
* This project is a **part of the se-education.org** initiative. If you would like to contribute code to this project, see [se-education.org](https://se-education.org#https://se-education.org/#contributing) for more info.
# ConnectCare
ConnectCare is a client management application designed for social workers. It streamlines client case management, focusing on efficient scheduling and visit tracking. The application aims to optimize scheduling, manage client goals, and ensure effective collaboration among social workers.

## Table of contents
- [Features](#features)
- [Installation and Usage](#installation-and-usage)
- [User Stories](#user-stories)
- [Acknowledgements](#acknowledgements)
- [License](#license)

## Features
- **Client Profile Management:** Create, update, and categorize client profiles effectively.
- **Search:** Search for clients based on keywords and tags.

## Installation and Usage
Prerequisites: JDK 11, update Intellij to the most recent version.
1. Clone the repository
2. Configure the project to use JDK 11 (not other versions) as explained in here.
In the same dialog, set the Project language level field to the SDK default option.
3. After that, open the Gradle tab and execute the gradle command `gradle run`

## Acknowledgements
- This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).

## License
ConnectCare is licensed under the [MIT License](LICENSE).
122 changes: 107 additions & 15 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -274,42 +274,85 @@ _{Explain here how the data archiving feature will be implemented}_

**Target user profile**:

* has a need to manage a significant number of contacts
* has a need to manage a significant number of clients for social work, that is dynamically changing
* has a need to efficiently track cases and get important information at a glance
* has a need to easily add notes and observations during visits to record important details
* prefer desktop apps over other types
* can type fast
* prefers typing to mouse interactions
* is reasonably comfortable using CLI apps
*

**Value proposition**: manage contacts faster than a typical mouse/GUI driven app
**Value proposition**: Manage and view client information more efficiently than a standard word-editor/address book/spreadsheet


### User stories

Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`

| Priority | As a …​ | I want to …​ | So that I can…​ |
|----------|--------------------------------------------|------------------------------|------------------------------------------------------------------------|
| `* * *` | social worker | see usage instructions | refer to instructions when I forget how to use the App |
| `* * *` | social worker | create a new client | keep track of their information efficiently |
| `* * *` | social worker | delete a person | remove client entries that I no longer need |
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
| Priority | As a …​ | I want to …​ | So that I can…​ |
|----------|---------------------------------|------------------------------|------------------------------------------------------------------------|
| `* * *` | social worker | see usage instructions | refer to instructions when I forget how to use the App |
| `* * *` | social worker | create a new client | keep track of their information efficiently |
| `* * *` | social worker | delete a client | remove client entries that I no longer need |
| `* * *` | social worker | find a client by name | locate details of clients without having to go through the entire list |
| `* *` | social worker | hide private contact details | minimize chance of someone else seeing them by accident |
| `*` | social worker with many clients | sort persons by name | locate a person easily |

*{More to be added}*

### Use cases

(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
(For all use cases below, the **System** is `ConnectCare` and the **Actor** is the `user`, unless specified otherwise)

**Use case: Add a client**

**MSS**

1. User requests to add a client
2. ConnectCare adds the client

Use case ends.

**Extensions**

* 1a. The details of the client is incorrect

* 1a1. ConnectCare shows an error message.

Use case ends.

**Use case: Update client details**

**MSS**

1. User requests to update a client
2. ConnectCare updates the client with new details

Use case ends.

**Extensions**

* 1a. The client to update is not found

* 1a1. ConnectCare shows an error message.

Use case ends.

* 1b. The client details given to update is incorrect

* 1b1. ConnectCare shows an error message.

Use case ends.

**Use case: Delete a person**

**MSS**

1. User requests to list persons
2. AddressBook shows a list of persons
2. ConnectCare shows a list of persons
3. User requests to delete a specific person in the list
4. AddressBook deletes the person
4. ConnectCare deletes the person

Use case ends.

Expand All @@ -321,11 +364,60 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli

* 3a. The given index is invalid.

* 3a1. AddressBook shows an error message.
* 3a1. ConnectCare shows an error message.

Use case resumes at step 2.

*{More to be added}*
**Use case: Find client**

**MSS**

1. User requests to find a client
2. ConnectCare lists all clients that match the keyword

Use case ends.

**Extensions**

* 1a. There is no given keyword.

* 1a1. ConnectCare shows an error message.

Use case ends.

**Use case: Clear all clients**

**MSS**

1. User requests to clear all clients
2. ConnectCare requests for confirmation
3. User confirms
4. ConnectCare clears all clients

Use case ends.

**Extensions**

* 1a. The list is empty.

* 1a1. ConnectCare shows an error message.

Use case ends.

* 3a. The user does not confirm

* 3a1. ConnectCare informs user of the cancellation

Use case ends.

**Use case: Exit the application**

**MSS**

1. User requests to exit the application
2. ConnectCare exits

Use case ends.

### Non-Functional Requirements

Expand Down

0 comments on commit 705c814

Please sign in to comment.