Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Project Release-2 Requirements

Submission Deadline: 20th June 2023

By now you have a basic skeleton of your project structure and a plan for your project ready. For the second release, each project group is expected to complete two features on both ends (i.e., backend and frontend):

1.    User Management

2.    Workspace and boards

This release will help you to complete almost 50% of your project and you will be left with only two more features for the term-end submission!

Feature details

User Management

a.    Sign-up: Register/Sign-up a user through their email address and a password. Follow basic password validation by having a minimum length of 8 characters, at least 1 uppercase character,

1 lowercase character, 1 number and 1 special character. You are not expected to hash the passwords; the passwords can be stored as plain text in the database (to keep things simpler).   Ask at least one security question of your choice (e.g. Name of your first pet) at the time of user creation; it will be used if the user forgets his/her password.

b.    Login: A user must be able to login through their registered email address and password. After successful login, a flag should be stored in the browser’s local storage to indicate that the user is logged in. This flag can be deleted after logout.

c.    Forgot password: A user must be able to reset his/her password through this functionality. You are not expected to send any verification email or implement any OTP (One Time Password) mechanisms (just ask user’s security question) and allow them to change the password.

d.   Authorization: A user should not be able to access the platform’s pages without being authenticated, with the exception of the Login, Sign-up and Forgot password pages. For example, if a user enters the URL of a board without being authenticated, an error page should be displayed asking them to login first.

Workspaces and Boards

•    Workspace: A workspace is something that can hold multiple boards. For e.g., CSCI 3130 Workspace can have a board for planning the syllabus, classes and tutorials, or a board for each project group. The below figures illustrate the concept of workspaces and boards.

 

•    Board: A board contains Lists that contain Tasks which will be displayed in the form of cards.    Each Task would have a status as To-Do, Doing or Done. For example, your group project has   several features, each feature is represented by a List that has some Tasks. You can create a    card for each task and assign it a status. This way you will be able to track how many tasks you have completed or are yet to complete.

The screenshot below shows an example of a Board. It has two Lists named Login and Sign-up. The Login list has two Tasks: Create Login Page and Create Login API Route.

The following features are expected w.r.t workspace and board.

a.    Create a workspace

b.   Add members to your workspace

c.    Update workspace details

d.    Create a board for a workspace

e.    Delete a board

Marking Rubric

 

All tasks are completed

75%  of  tasks are complete

50%   of  tasks

are complete

25%   of  tasks are complete

None of   the tasks  are            complete.

Register

2

1.5

1

0.5

0

Login

2

1.5

1

0.5

0

Forgot Password

2

1.5

1

0.5

0

Create Workspace

2

1.5

1

0.5

0

Adding members to workspace

2

1.5

1

0.5

0

Create a board for a workspace

2

1.5

1

0.5

0

Delete a board

2

1.5

1

0.5

0

Delivery Instructions

All the source code related to these features should be in your group’s Gitlab repository.