Technical Use Cases:
Signup with Email/Password
- Actor: User
- Precondition: User is on the login/signup page.
- Postcondition: User is logged in and redirected to the dashboard.
- Main Flow:
- User selects “Sign up with Email”.
- Fills form with name, email, and password.
- System validates inputs and checks existing email.
- If new email, system generates an OTP.
- OTP sent to user’s email.
- User enters OTP for verification.
- On success, account created and verified.
- User is logged in and redirected to dashboard.
Create a project.
- Actor: Registered User
- Precondition: User is logged in and on the project creation page.
- Postcondition: New project is created and visible on the platform.
- Main Flow:
- User navigates to "Create Project" page.
- User fills in project details (title, description, required skills, location tags).
- User submits the project creation form.
- System saves the project and confirms creation.
Search for projects.
- Actor: Registered User
- Precondition: User is logged in and on the project discovery page.
- Postcondition: User views a list of projects matching the search criteria.
- Main Flow:
- User navigates to "Discover Projects" page.
- System retrieves and displays a list of matching projects.
Apply to join a project.
- Actor: Registered User
- Precondition: User is logged in and viewing a project detail page.
- Postcondition: User's application is submitted for review by the project owner.
- Main Flow:
- User navigates to a specific project detail page.
- User clicks on "Apply to Join" button.
- User fills in application note explaining interest.
- User submits the application.
- System notifies the project owner of the new application.
Review applicants and accept/reject them.
- Actor: Project Owner
- Precondition: Project owner is logged in and viewing their project's applicant list.
- Postcondition: Applicant is accepted or rejected, and notified accordingly.
- Main Flow:
- Project owner navigates to their project's applicant list.
- Project owner reviews each applicant's details and application note.
- Project owner clicks "Accept" or "Reject" for each applicant.
- System updates applicant status and sends email notification to the applicant.