YaMa User Stories

User Login / Register

User Story

As a user, I want to have the ability a register my details in the application so that I can login to the application.

Acceptance Criteria

Given a user provides registration details,

When they click the create account button,

Then they will have an account created and can login to the application.


User Profile

User Story

As a user, I want access to a dashboard so that I can edit my profile and avatar.

Acceptance Criteria

Given a user accesses the account management dashboard,

When they click 'edit' button,

Then they can input new profile details and update their avatar.


Groups

User Story

As a user, I want the ability to make groups so that I can invite other users to engage in group conversations.

Acceptance Criteria

Given a user inputs a group name, public status and other details,

When they click the "create group" button,

Then the group is created and they can access it as an Admin and invite other users or otherwise manage the group.


Search Users

User Story

As a user, I want to add other users as friends so that I chat directly with them one on one.

Acceptance Criteria

Given that the user enters the username of the friend they would like to add

When the user clicks the "add friend" button

Then the friend should be added to the user's friend list.


Channels

User Story

As a group admin, I want to be able to create different channels for the group so that conversations can be categorized and group members can be limited for each channel.

Acceptance Criteria

Given a group Admin,

When they click the 'create channel' button,

Then a new channel will be created and users can be managed separately for that channel.


Communication

User Story

As a user, I want to be able to send a text or record and send a voice message so that I can communicate with other users.

Acceptance Criteria

Given the user enters some text or records a voice message

When the user clicks the "send" button

Then the recipient should receive the text or voice message.


Server

User Story

As a developer, I want to have a robust server system that scales so that it can handle the traffic of a growing number of users.

Acceptance Criteria

Given multiple users are in a channel

When a user clicks the "send" button to send a message

Then the server should redirect the message to all recipients in the channel


Project Management

User Story

As a team member, I want to have a system for documentation so that I can easily access all the administrative tasks required for the Group’s assessment.

Acceptance Criteria

Given documents need to be produced

When a team member needs to create or update their administrative tasks

Then the information related to that administrative task will be accessible to all team members.


Frontend UI/UX

User Story

As a developer, I want to have a UI/UX area so that the application will be able to meet all of our design criteria.

Acceptance Criteria

Given a developer is designing the application

When a developer makes a UI/UX design choice

Then the application UI/UX will reflect that choice.