User registration
Requirements for user registration: user story with acceptance criteria, use case with alternative flows, and prioritized development tasks.
- User story
- Acceptance criteria
- Use case
- MoSCoW
Task
Write requirements for user registration on the «ABC» platform, from user story to use case to prioritized development tasks.
Approach
- Started from the user's goal: a user story with acceptance criteria.
- Detailed the behaviour in a use case: actors, preconditions and postconditions, a 10-step main flow, alternative flows (invalid data, high fraud risk, email failure, unused or expired verification link), and a sub-use case for manual review.
- Defined the account status model: New → Pending verification → Approved, plus Manual review, Rejected and Cancelled.
- Broke the feature down into 15 development tasks (UI, internal and external integrations, business logic), prioritized for Soft Launch and Full Launch.
Result
User story
As a new user, I want to create an account at «ABC» platform by providing my basic personal details, so that I can get access to platform functionality.
Acceptance criteria
- The user registration form should allow users to enter their email addresses and passwords.
- The platform should validate the uniqueness of the entered email address and the safety of the password according to the business rules and show an error message if the validation fails.
- The platform should automatically screen each new registration against internal risk rules and mark potentially fraudulent accounts for manual verification.
- The platform should verify user data by sending a verification email with a unique, time-sensitive link.
- The platform should show a registration status message if a new user tries to log in with the account in the wrong status.
Use case
Name
«User registration»
Description
A new user signs up for «ABC» platform, enters personal data, passes profile verification procedure and finally gets access to the platform functionality.
Actors
- User
- Administrator
Preconditions
- The user has a valid email address and is able to receive emails.
- The platform is accessible.
- The user enters the website of «ABC» platform and decides to sign up.
Postconditions
- Success: the user account is created in the "Approved" status, and the user can log in to the platform.
- Failure: the account is not created (invalid registration data), or it ends in the "Rejected" status (after manual review) or the "Cancelled" status (not verified within 24 hours).
Main flow
- The user clicks “Sign up” button
- The platform opens registration form
- The user fills in all required fields (email and password) and clicks “Submit” button
- The platform validates the data (unique email, strong password) according to the business rules
- The platform creates a user account in the "New" status.
- The platform performs the risk assessment procedure, gets a low risk score and shows the user a new form with the notification on the verification procedure.
- The platform changes the account status to "Pending verification".
- The platform generates a time-sensitive verification link with the unique token and sends a verification email to the user.
- The user clicks the verification link in the email within the time limit.
- The platform successfully validates the token, marks the user account with "Approved" status and shows the welcome form with “Log in” button.
Alternative flows
4aInvalid Registration Data
If the data is invalid (e.g., duplicate email, weak password), the platform displays an error message and does not create an account. The use case restarts at Step 2.
6aHigh risk score / Risk assessment procedure fails
- The risk assessment procedure returns a high risk score or fails.
- The platform updates the account status to "Manual review".
- The platform adds the verification task to the Administrator's review queue and prioritizes it according to the business rule.
(See «SUB-UC extend» “Perform Manual review”).
8aThe email sending procedure fails
- The email sending procedure fails
- The platform tries to resend the emails every 15 minutes for 1 hour
- If the problem is not solved in 1 hour, the platform sends alert notification to system administrators group
9aThe user doesn’t use the verification link
If the user doesn’t confirm the account in 24 hours, the platform marks the account with "Cancelled" status.
10aEmail Link is invalid
If the link is expired or invalid, the platform informs the user and provides an option to request a new verification email.
Sub-use case: Perform Manual Review
Main flow
- The administrator logs into the admin dashboard.
- The platform displays the queue of tasks for manual verification (the queue prioritized according to business rule)
- The administrator selects the top-priority task and reviews the provided information
- The administrator resolves the task with the decision: Approve
- The platform reports analytics data
- The platform changes account status to "Pending Verification"
- The use case returns to the Main UC flow Step 8
Alternative flow
4aReject
- The administrator resolves the task with the decision: Reject
- The platform reports analytics data
- The platform changes account status to "Rejected"
Business rules
Detailed business rules are out of scope of this task.
Development tasks
| Code | Name | Priority |
|---|---|---|
| 01_UI | Develop User registration form | high |
| 02_UI | Develop Error forms
| high |
| 03_UI | Develop User notification form about verification procedure | high |
| 04_UI | Develop User welcome form | high |
| 01_API_int | Develop Frontend-Backend API | High |
| 02_API_int | Develop API to create the task in Platform Administration module | Middle |
| 03_API_int | Develop API to get information on task resolution in Platform Administration module | Middle |
| 01_API_ext | Develop integration with external API “Send_email” to send emails with verification links | High |
| 01_BsL | Develop business rules to check:
| High |
| 02_BsL | Develop business rules for risk assessment | Middle |
| 03_BsL | Develop procedures to generate and verify verification link | High |
| 04_BsL | Develop DB procedure to manage user accounts | High |
| 05_BsL | Configure workflow and analytics for new type of the administration tasks | Middle |
| 06_BsL | Develop resend emails logic | Low |
| 07_BsL | Develop account cancellation logic | Low |
Code legend
- UI – User interface
- API_int – internal integrations
- API_ext – external integrations
- BsL – business logic
Priority legend
- High – must have (main features for Soft Launch)
- Middle – should have (features for Full Launch)
- Low – could have (additional features)