Skip to content

treeDweller98/Peer-Counselling-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo_iub.png

Independent University, Bangladesh

Department of Computer Science & Engineering

CSE 307: System Analysis and Design

Spring 2022

Term Project

HealthyMind

A Peer Counselling Platform

Fahim Ahmed
2022409

Suhaila

1910496

Mir Shafayat Ahmed

1910456

Table of Contents

1. Introduction 5

2. History leading to project request 5

3. Problems, opportunities 6

Problems and Solutions 6 Introduction Opportunities 6

4. Project goal and objectives 7

5. Product Description 8

6. System Context diagram 8

7. Hardware detail (Include Rich Picture) 9

8. Key Technical Features of Software 9

9. Information Gathering methods (At least three methods) 10

Questionnaires: 10

Interviews: 10

JAD sessions: 10

Samples 11

1. Questionnaire Sample 11

2. Interview Questions 12

3. User Stories of the New System 13

10. Major functionalities offered by the system 14

11. Use Case Diagram 15

User Initiation System 15

Notification System 15

Chat System 16

Report Handling System 16

Questionnaire System 17

User Management System 17

12. Normal and Alternate Scenarios 18

User signup 18

Reported notifications 19

Have conversations in chat 20

View flagged conversation report details 21

Make Questionnaire 22

View Volunteer Profile 23

13. Functional Requirements 24

User Initiation System 24

Notification System 24

Chat System 24

Report Handling System 24

Questionnaire System 24

User Management System 24

14. Non-Functional Requirements 25

Privacy 25

Security: 25

Cost: 25

Usability: 25

Misc. 25

15. Entity Relationship Diagram 26

16. Logical Data Flow diagram 27

Diagram 0 27

User Initiation System 28

Logical Dataflow: Existing 28

Logical Dataflow: Proposed 28

Notification System 29

Logical Dataflow: Proposed 29

Chat System 30

Logical Dataflow: Existing 30

Logical Dataflow: Proposed 30

Report System 31

Logical Dataflow: Existing 31

Logical Dataflow: Proposed 31

Questionnaire System 32

Logical Dataflow: Existing 32

Logical Dataflow: Proposed 32

User Management System 33

Logical Dataflow: Proposed 33

17. Physical Data Flow diagram 34

User Initiation System 34

Notification System 34

Chat System 35

Report System 35

18. Activity diagrams 36

Activity: User Initiation System 36

Activity: Volunteer signup System 37

Activity: Report Notification System 38

Activity: Chat Notification System 39

Activity: Chat System 40

Activity: Report System 41

Activity: Questionnaire System 42

19. Sequence diagrams 43

User Initiation System 43

User sign up 43

Notification System 43

Reported Notification 43

Chat System 44

Have Conversations 44

Report System 44

View Reported Conversation 44

Questionnaire System 45

Edit Questionnaire 45

20. Communication diagrams 46

User Initiation System 46

User sign up 46

Notification System 46

Reported Notification 46

Chat System 46

Have Conversations 46

Report System 47

View Reported Conversation 47

Questionnaire System 47

Make questionnaire 47

21. Class diagrams 48

22. State-chart diagrams. 49

Client class 49

Volunteer class 49

Chat class 50

Report class 50

Leave Application class 51

Questionnaire class 51

23. CRUD matrix 52

User Initiation System 52

Chat System 52

Report System 53

Questionnaire System 53

24. Structure English pseudo code for the system 54

User Initiation System 54

Notification System 55

Having Conversations 56

Handle Reports 57

User Management 58

Questionnaire Management 59

25. Prototype the user interface 60

User Signup 60

Volunteer Application 60

User Login 61

Chat 61

Chat Client List (visible to volunteers only) 62

Chat Schedule 62

Chat Questionnaire 63

Add Custom Questionnaire (visible to volunteers only) 63

Chat Notification 64

Report Chat 64

Report Management 65

AI-flagged Report Details 65

Manually-flagged Report Details 66

Report-handling wizard 66

Leave Application List 67

Leave Application Details 67

Admin Add Questionnaire 67

Section 1:

1. Introduction

HealthyMind is a non-profit organisation aimed at providing peer-support services to people of all ages. It is run by a group of mental health professionals, supervising a team of volunteers who counsel clients over an internet messaging service. Clients register for the service and are assigned a volunteer. Both parties remain anonymous to one another. Once connected, they can have conversations and receive counselling and support. At present their operations are small in scale; employing only a dozen or so volunteers, each connected to around five clients.

2. History leading to project request

The organisation uses Facebook Messenger to provide their services. All operations are conducted manually. Volunteer applications, client registration, assigning volunteer to client are all done by knocking the organisation on their Facebook page and requesting to answer the appropriate questionnaire on Google Forms. Both requests and responses have to be checked and approved periodically - leading to long wait times and tedium for all parties involved. This manual and fragmented nature of the existing system is hampering their vision of expanding their operations.

Also of note is that the organisation has recently had to deal with a breach of confidentiality between a client and their assigned volunteer - the cause of which was determined to be a limitation of their operating procedures and the messaging platform being used. Supervision is difficult and a robust system for reporting (and dealing with reports of) inappropriate behaviour is unfortunately absent in that platform since it was never designed for such a task.

Hence HealthyMind approached us with their problems - asking for a dedicated, all-in-one software solution automating their day-to-day activities.

3. Problems, opportunities

Problems and Solutions

Problem Solution
Manual, tedious registration process that involves going to another site. May discourage signing up. User initiation will be handled within the application in a guided manner. Users will not be taken to another site.
Anonymity difficult to maintain due to Facebook being used User details will only be visible to supervisors in the new system.
Confidentiality cannot be maintained as one volunteer’s messages are not kept isolated from another’s Each volunteer will have completely separate accounts so this limitation of the previous messaging platform will not apply. Only supervisors will have access to chat logs, and only after a report has been filed by the user.
Supervising a large number of chats unfeasible AI will be employed to moderate chats. Alerts will be sent to supervisors if inappropriate activity is detected.
Reporting conversations is done manually via google forms Reporting can be done within the chat application window.
Pending reports have to be periodically by supervisors. Urgent alerts will be sent to the supervisor whenever a conversation is reported. All pending reports can be seen in the supervisor’s dashboard.
Reports have to dealt with manually List of possible actions can be seen in the dashboard and handing can be done directly from there
Various mental health assessment questionnaires have to be taken off-site Editable questionnaires will be integrated into the application so users can have a seamless experience.
Questionnaires have to be manually handed out. Questionnaires can be scheduled and set by supervisors and volunteers. These are to be automatically distributed to clients and the responses can be accessed in a convenient manner from their dashboards.
Conversations have to be manually scheduled/agreed upon by parties Scheduling and notification system will be integrated in the chat application itself.

Opportunities

  • No similar all-in-one platform currently exists.

  • User convenience will be unparalleled.

  • AI-based supervision would ensure confidentiality.

  • Automation will reduce supervisor workloads and will allow them to

    work more efficiently.

  • Volunteer management (leaves, signup, assigning) can be done via

    this application.

  • Chat application will be purpose-designed for this organisation’s

    needs so it can better guarantee confidentiality.

  • Due to questionnaires etc. being integrated into the chat

    application, the new system can give a much more cohesive and unified experience.

  • Confidentiality and convenience will attract a large number of

    users.

  • Automation will allow the organisation to scale up their operations.

4. Project goal and objectives

HealthyMind aims to provide cost free service to the users ranging from all ages. This website is designed to provide a safe space and learning environment for people without fear of judgement, misunderstanding, harassment or abuse. It carves out a way for promotion of mental health through service, advocacy, and education. It offers a very efficient , smooth, and comfortable website to use (from home) as well as an excellent platform that is accessible for all people (including disability).

One of the advantages is that the users can easily navigate through the platform with minimum effort where the service can be available 24/7. In addition, the platform is structured in a way ensuring confidentiality of both client and volunteer through high monitoring by the employees to ensure a safe and secure environment for both the parties.

Section 2:

5. Product Description

  1. Product summary

It is a platform in which people from all around Bangladesh can connect and share their inner thoughts while being anonymous to a peer support volunteer. The volunteers can also apply with just a few steps by signing up and uploading their resume. The administration is updated from time to time of the ongoing activities on the website. Moreover, they can maintain and have an overview of all the users at any preferable time they want.

Furthermore, after the volunteers and clients have successfully registered and are part of HealthyMind, they can start communicating with each other with proper security and privacy ensured on both ends and also set up schedules if they wish. On the other hand, The volunteer has an option to even reject a request for chat and clients can also wish to reassign the volunteer. To maintain security and privacy, an AI chat moderator is incorporated in the system which will detect any inappropriate images or messages sent in the chat log and immediately notify the supervisor.

To summarise, the platform will help increase awareness of mental health and people will be more willing to share their problems.

  1. Product Stakeholders
  • Client

  • Admin

  • Supervisor

  • Volunteer

6. System Context diagram

7. Hardware detail (Include Rich Picture)

Frontend:

  • Smartphone, PC or Laptop

  • Internet connection capable of smooth browsing experience

  • A Web Browser or an Android or iOS app.

Backend:

  • Servers capable of handling 1000 users concurrently hosted by a

    cloud service provider.

  • At least 100MB of storage allocated per user.

  • A relational database - MySQL.

  • A language like Python that is capable of handling thousands of

    requests every second.

8. Key Technical Features of Software

  • JavaScript will be the main frontend language as it allows for

    making Web Apps that can easily be made into Native apps for Android and iOS. Ensuring compatibility.

  • Compute-Heavy tasks like Image Manipulation and Natural Language

    Processing are offloaded to powerful servers, hence allowing for older smartphones to use the service.

  • AI model inappropriate content detection is incorporated in the

    system to detect inappropriate chat messages.

  • Backend uses Django/Python for ease of maintainability.

  • End-to-end encryption of all chat messages using SHA256 to ensure

    privacy.

  • User authentication code system to ensure sensitive data is not

    revealed.

  • OTP 2FA used for signup/login

Section 3:

9. Information Gathering methods (At least three methods)

Upon a cursory examination of the organisation, we settled for several interactive data gathering messages for this project. Due to the small size of the organisation, sampling a large pool of members was not an option. The decentralised/virtual nature of the organisation, plus the need for maintaining strict confidentiality did not permit us the ability to sit down and observe organisation members carrying out their day to day tasks in their own environment. Information gathering was carried out in phases:

  • Questionnaires:

To gather preliminary information about their requirements, questionnaires were emailed to all the volunteers and supervisors working under the organisation, plus a few willing clients of the organisation. The questionnaire had a small description of the new system to give them some context. Responses were submitted via Google Forms.

  • Interviews:

Our interviewer carried out background research by taking notes of the facebook page of the organisation, their blog and their press releases detailing the policies, values and vision of the organisation.

We decided to individually interview the vice president (who is also a former supervisor), a peer support volunteer and two willing clients. Interview questions were mailed out a week in advance to prepare the interviewees. The interview was conducted virtually as each individual was situated at different places. Each session lasted approximately an hour.

The objective of the interview was to find out how they worked, their software requirements, what they wish to achieve with the new system, the resource budget etc. Beside the specific interview questions, interviewees were encouraged to elaborate on their questionnaire answers, tell us stories about their time with the organisation, voice their personal concerns with the old and new system and their opinions on certain policies and requirements of the organisation.

  • JAD sessions:

At a later date following the conclusion of the interviews, we sat down together with all the interviewees for four consecutive days to discuss the functionalities and UI of the system.

After an hour-long orientation session, led jointly by our senior analyst and the organisation’s vice president, we first wrote down the user stories of the existing system, and decided upon the logical workflow. We raised concerns about some of their requirements (namely, the extent of the AI moderator’s abilities) - the cost, workability and practicality made certain requirements unfeasible with their budgetary constraints and our limited expertise. They were understanding and we settled upon a scalable system that would allow easy integration with the components that they may wish to add in the future.

Once the workflow and requirements were tweaked to satisfaction, the new user stories were written up and the entirety of the last day was spent drawing up the user interface. Here the clients of the organisation had particular inputs about its ease of use, which was incorporated into the final prototype.

Samples for the questions and the user stories generated are attached below.

Samples

1. Questionnaire Sample

Choose your position:

  • Supervisor

  • Client

  • Volunteer

  • Other

How long have you been involved with the organisation?

  • Less than 6 months

  • 6 months to 1 year

  • 1 to 2 years

  • More than two years

What device(s) do you currently use to access the service? (Check all that apply)

  • Tablet

  • Laptop

  • Smartphone

  • Desktop

How much time do you spend using the service every week?

  • More than 5 hours

  • 1-3 hours

  • Less than 1 hour

Rate your satisfaction with the current system (on a scale of 1-10): _______

How much are you willing to adapt to the new system?

  • Very willing

  • Somewhat willing

  • Neutral

  • Unwilling

  • Very unwilling

Which is most important?

  • Confidentiality

  • Clienty safety

Explain your role in the organisation.

_______________________________________________________________________

_______________________________________________________________________

_______________________________________________________________________

How effective do you find the current system at its task of providing/receiving counselling?

_______________________________________________________________________

_______________________________________________________________________

Why?

_______________________________________________________________________

_______________________________________________________________________

What would make it easier for you to more effectively use the service?

_______________________________________________________________________

_______________________________________________________________________

Briefly describe 3 worst aspects about the current system in your opinion.

  1. _____________________________________________________

  2. _____________________________________________________

  3. _____________________________________________________

* only questions shown here, no instructions etc.

2. Interview Questions

Supervisor/Vice President Interview Questions (arranged in a funnel to extract maximum information)
A short rundown of how the current system works.
Why is there a need for a new system?
What are your biggest concerns regarding the current system?
What improvements/changes are required to the current system?
How well is the coordination within the organisation?
What challenges do you face maintaining client confidentiality? How do you currently mitigate them?
How do the supervisors currently take action after receiving reported contents?
What are your thoughts on employing an AI to moderate chats?
What are the organisation’s future plans regarding scalability?
How much can the organisation spend for this software acquisition?
How much is the maintenance budget?
How many people can the organisation dedicate towards keeping this system running day-to-day?
Volunteer Interview Questions (arranged in a pyramid to ease them into opening up)
How often do you counsel the clients?
How many clients do you regularly take on per month?
How is the overall experience while interacting with the clients?
How efficient is it to use the current system?
What are the drawbacks of the current system
What can be done to bring improvement to the current system?
What issues have arised in the organisation - tell stories.
How well are the privacy and security maintained of the clients?
What are the concerns about the system voiced by the clients and volunteers?
What things should remain unchanged in the current system?
What issues did they face with the supervisor and client
Client Interview Questions
Why did you choose this organisation?
What is the best part of the current system in your opinion?
Are there any new features you want to see added?
How easy is it to navigate through the system?
How can the current system be made much easier?
Are you comfortable with the current system’s privacy and security system? Explain.
Have you experienced any inappropriate situations? If yes, what did you do about it?
What would make you feel more comfortable using this service?

3. User Stories of the New System

Welcome new user

Show users a short welcome message and tell them about the service, how it works, who it’s for, and how to get started.

Sign up new user

Users sign up by entering their name, email and optionally other personal details. To maintain confidentiality, personal details can only be accessed by Supervisors under special circumstances.

Serve mental health questionnaire

Immediately after signing up, all users are served a short questionnaire to assess their current mental health, what they are expecting and their preferences (if any).

Request conversation

A new user requests an anonymous conversation with a trained peer support specialist after filling out the questionnaire.

Poll peer support specialists

Questionnaire responses are used to automatically rank available specialist best fit for the requesting user. The system sends notifications to the top 3 best fit specialists. If none respond within a given period, notifications are sent to the next 3 and so on.

Accept/Reject conversation request

A peer support volunteer receives notification for a conversation request. They examine the user's questionnaire responses and can choose to accept or pass the request.

Connect user and specialist

Upon accepting the request, a chat thread is created where the user can anonymously converse with the specialist. Both parties are given pseudonyms by the system to ensure neither identity is revealed.

Chat

Users can only be connected to one volunteer at a time with whom they can exchange messages (texts, images) at any time. Users get new message notifications.

AI moderated chat

AI checks every image and link sent for inappropriate content. If found to be inappropriate, the message is censored until the user gives consent to view. Censorship events are logged (visible to supervisor of this chat) and if a threshold number of these events occur, the chat is automatically reported to the supervisor.

Report conversation

If a user is made to feel uncomfortable, they may choose to report the conversation to have it checked by a Supervisor. User fills in a form detailing their reasons for reporting

Schedule chat

Users in a chat can set schedules and the other party can agree/disagree on the timing. If agreed, the application sends an alert reminding of the scheduled chat. If disagreed, the user can offer a different time and the other party can agree/disagree to that,

Serve checkup questionnaires

Bi-monthly questionnaires are served to all connected users to assess the change in their mental health. Users can also express their satisfaction/dissatisfaction with the specialist here. Periodically examined by supervisors.

Create/Answer custom questionnaire

Volunteers can create customised questionnaires in chat for users to answer.

Peer support specialist dashboard

Peer support specialists volunteering at the organisation are given their own accounts. Log in to view conversations, questionnaire responses and available requests.

Supervisor dashboard

Supervisors can view which users are connected to the volunteers under them, along with the time spent active in each conversation. Questionnaire responses of each connected user can be monitored from here.

View reported conversations

Supervisors can check the entire chat history of reported conversations. They may write responses to the reporting user in a special chat thread that can be archived by the supervisor once resolved.

View reported conversation chat

Supervisors may view the entire chat log of conversations reported manually. For AI-flagged chats, they must first request permission from users and can only view if given by client.

Reassign volunteer

Supervisors may reassign a different volunteer to a user manually. They may also reassign volunteers after a report.

Ban client

If reported for inappropriate behaviour or breach of terms, supervisors may ban a client for a period of time. The client will be unable to send messages in this period.

Set questionnaire

Administrator of the service can create/set the various questionnaires served to users through the questionnaire creation wizard in their dashboard

10. Major functionalities offered by the system

  • Send and Receive chat messages (Chatting).

  • AI Chat moderator detects inappropriate contents.

  • Accepting volunteers.

  • View user related graphs and profiles.

  • Request to chat with a Volunteer.

  • Manually report chats.

  • Signup, Login, Ban/Removing Users.

  • Create and edit questionnaires.

  • Leave Application for Volunteers.

  • Report handling for Supervisors.

  • Edit user profiles and questionnaire responses.

11. Use Case Diagram

User Initiation System

Notification System

Chat System

Report Handling System

Questionnaire System

User Management System

12. Normal and Alternate Scenarios

Use Case Name :

User signup

UniqueID: INIT01
Area: User Signup page
Actors(s): Client
Stakeholder : Supervisor, volunteer
Description : Users are able to register into the system.
Triggering Event: Click on Signup button on the website
Trigger Type : External
Steps Performed (Main Path) Information for steps
  1. Click on the Signup button

Sign up form
  1. Complete the personal information section and click on the next button

Sign up form and personal details
  1. Completes answering the questionnaires and clicks on the next button.

Questionnaire form, responses, preferences
  1. Read and agree to the Terms and conditions by clicking on the checkbox. And clicks on signup

Response and sign up form
  1. System automatically sends request for chat to the volunteer

Request

Alternative Scenario

  1. User clicks on Sign Up.

  2. Fills all the information required.

  3. Clicks on submit but fails and shows “Already account created”.

  4. User is redirected to the login page.

Preconditions :

  • Have an internet connection.

  • Complete each section at a time to proceed next.

  • Users might not be fully registered yet.

Postconditions:

  • User has successfully registered

  • User will be able to fully use the features of the system

Assumptions:

  • User profile details have been properly registered in the system

  • User can view the signup page

Success Guarantee :

  • User can request for volunteer

Minimum Guarantee :

  • The profile details have been saved

Requirements Met:

  • Users are allowed to create new profiles and request for volunteers.

Outstanding Issues :

  • Can users log from different devices at the same time?

  • Can the users log back and complete the registration procedure or start all over again?

Use Case Name :

Reported notifications

UniqueID: NOTIF01
Area : Notification System
Actors(s) : Supervisor
Stakeholder : Client and Volunteer
Description : The notifications received by the supervisor when malicious content is detected.
Triggering Event : Malicious text or images detected by AI chat moderator
Trigger Type : Temporal
Steps Performed (Main Path) Information for steps
  1. Logs into the system

User ID and password
  1. Clicks on the notification button

  1. Views the notifications

  1. Clicks on the notification and directed to the report page

Report page
  1. Responses to the report

Report page

Alternative Scenarios

Report notification

  1. Send notification to the supervisor.

  2. Waits for few days for action

  3. Resend the notification to another supervisor.

Preconditions

  • Must be logged into the website to view notification.

  • Users must have a good internet connection to get notifications without any delay.

  • Users must be logged in as supervisor to be able to view the reported notification.

Postconditions:

  • Supervisors receive notification and are directed to the report detail page.

Assumptions:

  • User has a browser and a valid password and user ID.

  • User is logged into the system to view notification.

Success Guarantee:

  • Supervisor can view the report detail page.

Minimum Guarantee

  • Notification reached the supervisor's end.

Requirements Met :

  • Supervisor can receive the reported notification.

  • Can receive notification without any delay.

  • Can instantly access the report detail page on clicking the notification.

Outstanding Issues :

  • Should the users be aware of the notification when not logged into the system?

  • Can users delete the notifications?

Use Case Name:

Have conversations in chat

UniqueID: CHA 01
Area: Chat system
Actors(s): Client, Volunteer, AI moderator
Stakeholder: Supervisor
Description: Clients and volunteers can have conversations over chat which is moderated by an AI moderator.
Triggering Event: Client or volunteer sends a text or image in the chat window.
Trigger Type: External
Steps Performed (Main Path) Information for steps
  1. Open chat window to view latest chat log

  2. Enter text in chat box

  3. Press send to send text

  4. AI moderator verifies text does not contain blacklisted links

  5. Receiver reads text delivered to them.

messages

anonymised sender information

message text

Extensions or Alternative Scenarios

Sending Images

  1. Click on “Add image” button

  2. Select image on device

  3. Press send to send image

  4. Image is compressed on device before sending off to server

  5. AI moderator checks image for inappropriate content

  6. Image is delivered to receiver

Unblur Censored Image

  1. AI blurs out images it considers inappropriate.

  2. Warning message is displayed to user

  3. User clicks “unblur image”

  4. Request confirmation from user

  5. Display image to user if confirmation received

Preconditions:

  • The volunteer is connected to this client by accepting their chat request.

Postconditions:

  • Messages sent have been received by the other party

Assumptions:

  • Neither party is banned by a supervisor.

  • Sender is logged in to the web or mobile application.

  • Receiver logs in (to view received messages).

Success Guarantee:

  • Message is delivered to the receiver’s device and is read.

Minimum Guarantee:

  • Sent message has reached the server and been saved.

  • “Message censored” message shown.

Requirements Met:

  • Exchange messages in chat via the server.

  • Volunteers and clients are kept anonymous to each other.

  • Employ AI to censor inappropriate images.

  • Images censored by the chat moderator AI can be unblurred with user permission.

Outstanding Issues:

  • Automatically resend messages that failed to be sent due to network issues etc.?

  • Max size of text and image?

  • Can users delete sent texts?

  • Implement reply-in-thread feature?

Use Case Name:

View flagged conversation report details

UniqueID: REP 01
Area: Report Handling
Actors(s): Supervisor
Stakeholder: Client, Volunteer
Description: Supervisor sees the user or AI generated chat report details and decides what to do.
Triggering Event: Supervisor receives “Conversation Reported” notification.
Trigger Type: External
Steps Performed (Main Path) Information for steps
  1. Open Reported Conversation Overview page to view pending reports table for this supervisor.

  2. Latest reports are at the top of the table.

  3. Click View Details to see details of the users and the conversation

    1. AI reported conversations have logs of previous moderation events.

    2. Manual reports have information filled in by the user in the report form.

  4. Click “Handle Report” to open the report-handling wizard and take appropriate action.

list of reported conversations

moderation events log

Report Conversation form responses

Extensions or Alternative Scenarios

View Entire Chat-log

  1. To view the entire chat log of the manually reported conversation, click “View Chat-log”.

  2. Re-enter supervisor’s private access code in the popup.

  3. 2FA text sent to supervisor’s phone.

  4. Upon identity verification, the supervisor is given access to view the chat.

  5. Access remains for a limited time.

Request Permission to View Chat-log

  1. Click “View Chat-log” of an AI-generated report.

  2. Display “You do not have permission” message

  3. Click “Request Access from Client”.

  4. Re-enter supervisor’s private access code in the popup.

  5. 2FA text sent to supervisor’s phone.

  6. Upon identity verification, type a message to users detailing why permission is being requested.

  7. The request with the message is delivered to the users.

  8. Await permission given/declined notification to view chat.

chat logs

Preconditions:

  • Supervisor has entered his private access code after logging in to view this page.

Postconditions:

  • Report Handling wizard has been started.

Assumptions:

  • Only the supervisor knows their specific access code so that no unauthorised access occurs.

Success Guarantee:

  • Supervisor has seen all the necessary report details to come to a conclusion about handling it

Minimum Guarantee:

  • Supervisor can see the list of pending reports

Requirements Met:

  • View list of reported conversations.

  • Supervisor can see details of reported conversations such as user information, conversation statistics, AI moderation logs.

  • Supervisor can ask for permission from users to view chat logs in case of AI-filed reports.

  • Supervisors can access chat logs of manually reported conversations for a limited period of time.

Outstanding Issues:

  • What to do if supervisor identity cannot be verified

Use Case Name :

Make Questionnaire

UniqueID: QUT01
Area: Admin Dashboard
Actors(s): Admin and Supervisor
Stakeholder : Volunteer and client
Description : User is able to create a new questionnaire or edit the previous one
Triggering Event: Click on the questionnaire form
Trigger Type : External
Steps Performed (Main Path) Information for steps
  1. Click on the Questionnaire Tab

Admin page
  1. View questionnaire form

Questionnaire template
  1. Click on any question to add or remove question

Questionnaire form
  1. Click on publish to make the questionnaire visible

Admin page

Alternative Scenario

  1. Search questionnaire using ID

  2. Click on edit button

  3. Add/delete the questions in questionnaire

  4. Click on draft button to store only

Preconditions :

  • Have an internet connection.

  • Must be logged in as Admin/Supervisor

  • There might be an existing questionnaire

Postconditions:

  • User has successfully added a new questionnaire

  • Other users can view/use the questionnaire

Assumptions:

  • User can view the questionnaire page

Success Guarantee :

  • Clients can answer and view the new questionnaire form

  • Volunteers can use the questionnaire form

Minimum Guarantee :

  • New questionnaire has been created

Requirements Met:

  • Admin is allowed to create and store new questionnaires

Outstanding Issues :

  • Can the admin have unlimited access in creating questionnaires without any time constraints?

  • Can the admin re-edit the questionnaire immediately?

  • Do the admins need any approval from other admins before publishing the new questionnaire?

Use Case Name :

View Volunteer Profile

UniqueID: UM01
Area: Volunteer profile page
Actors(s): Volunteer
Stakeholder : Supervisor, Client,Admin
Description : Users can view their own profile details and edit
Triggering Event: Click on Profile button
Trigger Type : External
Steps Performed (Main Path) Information for steps
  1. Click on the profile button.

Profile page
  1. View the profile details.

User data
  1. Click on the questionnaire button

Profile page
  1. View questionnaire

Questionnaire form
  1. Click on edit button on profile page

Request
  1. Edit the profile

Profile form
  1. Click on save button

Alternative Scenario

  1. User clicks on Sign Up.

  2. Fills all the information required.

  3. Clicks on submit but fails and shows “Already account created”.

  4. User is redirected to the login page.

Preconditions :

  • Have an internet connection.

  • Must be logged in

  • Have permission to edit

  • Not a banned user

  • The user is already registered

Postconditions:

  • User can view profile

  • Can edit any detail if the user wishes

  • The new edit is visible

Assumptions:

  • User has a profile

Success Guarantee :

  • Users can successfully view all details of their account.

  • Users can successfully edit and save the profile details.

Minimum Guarantee :

  • The profile details is displayed

Requirements Met:

  • Users are allowed to view and edit accounts.

Outstanding Issues :

  • Can a banned user view their account?

  • Are there any restrictions on the number of times a user can edit?

13. Functional Requirements

User Initiation System

  1. Client inputs personal information, completes a questionnaire to be

    a registered member.

  2. Login with email and password.

  3. Clients can request for volunteer

  4. Interested people can apply for volunteer positions by uploading the

    required documents and signing up.

  5. The chosen volunteer will be sent an email regarding the

    confirmation of their selection.

  6. Selected volunteers will have to activate their account (which will

    be created by the administrator) using email

  7. Volunteers can be able to accept/reject requests of clients.

Notification System

  1. System sends notification/request to the best fit Volunteer.

  2. Clients get notified about the selection of new volunteer after

    request

  3. Volunteers and clients receive notification of unread chat messages

    while they are away.

  4. System sends notification to both volunteers and clients of their

    scheduled session ahead of time.

  5. Supervisor receives notification for any AI flagged chats

  6. System notifies the supervisor of a new reported chat made by a

    client or volunteer.

  7. Admin receives notification of a new submitted request for leave

    application made by employees

  8. Volunteers receive notification of the decision to leave.

Chat System

  1. Exchange texts and images in chat. Volunteers and clients are kept

    anonymous to each other.

  2. Set chat schedules..

  3. AI censors images and links deemed inappropriate, logs censorship

    events.

  4. Give permission to unblur censored images/links by the chat

    moderator AI.

Report Handling System

  1. Manually report inappropriate behaviour in chat.

  2. AI automatically reports chat if the threshold number of

    inappropriate images sent.

  3. View manual and AI-generated reports of inappropriate behaviour.

  4. View chat logs and questionnaire responses of reported chats.

  5. View logs of censorship events, along with censored images. Report

    false positives.

  6. Send a message to reporting and reported users to explain how the

    report has been dealt with.

  7. Ban a user for an amount of time following inappropriate behaviour.

  8. Reassign a volunteer in a chat.

Questionnaire System

  1. Create a new questionnaire.

  2. Edit previous questionnaire.

  3. Can view questionnaire responses.

  4. Users can insert responses to the questionnaires.

  5. Both responses and questionnaires can be stored.

  6. Create a new newsletter and publish.

  7. Users can edit questionnaire responses.

User Management System

  1. View Volunteer-Client Statistics.

  2. Users can view and edit profile information.

  3. Clients can delete their account.

  4. Supervisors can ban or remove volunteer accounts.

  5. Admin can view system statistics.

  6. Volunteers can view their statistics.

  7. Volunteers can apply for leave applications.

  8. Supervisors can approve/reject leave applications.

14. Non-Functional Requirements

  • Privacy

    • Identifying information of clients should only be visible to

      authorised personnel of the organisation and only under special circumstances.

    • Volunteers and clients should be anonymous to one another.

    • Screenshot-prevention feature in chat window.

    • Chat logs accessible to supervisors only in case of reports.

  • Security:

    • End to end encryption of chats.

    • Encrypted storage of all user data in servers.

    • Store only the bare minimum user data in servers.

  • Cost:

    • Compress all images on the user end to minimise server

      bandwidth/storage requirements.

    • Should not contain proprietary components that may incur

      expensive licensing fees.

    • Back-end must run on a cloud server provider’s budget-tier plan.

  • Usability:

    • Mobile app with simple, intuitive UI with the bare minimum of

      features to prevent confusion.

    • Tooltips for every interactive UI element.

    • Always-accessible tutorial/overview of the service built into

      the app - informs clients of how to use it and how the service works, along with simple and clear explanations of the privacy policies they can expect.

    • Cheerful UI design with soothing colours.

    • Darkmode support.

    • UI must accommodate for users with visual (including colour

      blindness) or auditory impairments.

    • Supports both English and Bangla.

    • Chatting must be instantaneous; minimal lag.

  • Misc.

    • Must be fully open source for the sake of transparency.

    • Must be easily auditable to ensure confidentiality of user data

      is being maintained.

    • Apps must respect user privacy - no ads, no data gathering or

      unnecessary device permissions.

    • Maintainable by a small team.

    • Not dependent on third party developer’s components, as

      long-term support may not be guaranteed with those.

Section 4:

15. Entity Relationship Diagram

16. Logical Data Flow diagram

Diagram 0

User Initiation System

Logical Dataflow: Existing

Logical Dataflow: Proposed

Notification System

Logical Dataflow: Proposed

Chat System

Logical Dataflow: Existing

Logical Dataflow: Proposed

Report System

Logical Dataflow: Existing

Logical Dataflow: Proposed

Questionnaire System

Logical Dataflow: Existing

Logical Dataflow: Proposed

User Management System

Logical Dataflow: Proposed

17. Physical Data Flow diagram

User Initiation System

Notification System

Chat System

Report System

18. Activity diagrams

Activity: User Initiation System

Activity: Volunteer signup System

Activity: Report Notification System

Activity: Chat Notification System

Activity: Chat System

Activity: Report System

Activity: Questionnaire System

19. Sequence diagrams

User Initiation System

User sign up

Notification System

Reported Notification

Chat System

Have Conversations

Report System

View Reported Conversation

Questionnaire System

Edit Questionnaire

20. Communication diagrams

User Initiation System

User sign up

Notification System

Reported Notification

Chat System

Have Conversations<img src="./media/image10.png"

style="width:9.44291in;height:4.09722in" />

Report System

View Reported Conversation<img src="./media/image27.png"

style="width:8.29514in;height:4.75576in" />

Questionnaire System

Make questionnaire

21. Class diagrams

22. State-chart diagrams.

Client class

Volunteer class

Chat class

Report class

Leave Application class

Questionnaire class

23. CRUD matrix

User Initiation System

Activity Client Volunteer Admin Supervisor AI Chat Moderator
Enter Client Personal Details U
Create Client Account C
Complete signup questionnaire U
User log in R R R R
Upload Volunteer Documents U
Enter Volunteer Application Details U
View New Volunteer Application R R
Accept/Reject Volunteer U U
Create Applicant Account C C
Send Notification C CU CU
Deliver Notification RU R
Volunteer request C

Chat System

Activity Chats UserRecords Reports CensorLogs
Report Conversation R R C R
View Report Details R R
Write Report-Handling Message RU
Request Chat-log Access U R RU
Grant Chat-log Access U RU
View Chat-log R
Ban/Reassign RU RU

Report System

Activity Chats CensorLogs Notifications
Send Message CRU
Load Messages R
Censor Message R CR
Schedule Chat C
Unblur Message U

Questionnaire System

Activity Questionnaire
Create questionnaire C
View questionnaire R
Edit questionnaire responses RU
Edit questionnaire U
Publish questionnaire CU

Section 5:

24. Structure English pseudo code for the system

User Initiation System

Notification System

Having Conversations

Handle Reports

User Management

Questionnaire Management

25. Prototype the user interface

User Signup

Volunteer Application

User Login

Chat

Chat Client List (visible to volunteers only)

Chat Schedule

Chat Questionnaire

Add Custom Questionnaire (visible to volunteers only)

Chat Notification

Report Chat

Report Management

AI-flagged Report Details

Manually-flagged Report Details

Report-handling wizard

Leave Application List

Leave Application Details

Admin Add Questionnaire

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors