Business Requirements
Business requirements for the Let's Stream It project are described using use case diagrams and a textual description.
User Login/Registration
A user who accesses the system must be able to:
- Register a new account (Sign Up)
- Actor: User
- Preconditions: The user is not registered in the system.
- Postconditions: The user is registered in the system.
- Main Success Scenario
- The user accesses the registration page.
- The user fills in the registration form.
- The user submits the registration form.
- The system validates the registration form.
- The system registers the user.
- The system redirects the user to the login page.
- Extensions
- A1: The user submits an invalid registration form.
- The system displays an error message.
- The user returns to step 2 and corrects the form.
- A2: The user submits a registration form with an existing email.
- The system displays an error message.
- The user returns to step 2 and enters a different email.
- A1: The user submits an invalid registration form.
- Login
- Actor: User
- Preconditions: The user is registered in the system.
- Postconditions: The user is authenticated in the system.
- Main Success Scenario
- The user accesses the login page.
- The user fills in the login form.
- The user submits the login form.
- The system validates the login form.
- The system authenticates the user.
- The system redirects the user to the home page.
- Extensions
- A1: The user submits a login form with incorrect credentials.
- The system displays an error message.
- The user returns to step 2 and enters the correct credentials.
- A1: The user submits a login form with incorrect credentials.
Authenticated User
After the user is authenticated, it can perform numerous actions such as:
- Logout
- Modify its profile
- Create a new Session
- Join an existing Session
- Look at a user's profile
-
Logout
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The user is not authenticated in the system.
- Main Success Scenario
- The user accesses the logout page.
- The user clicks on the logout button.
- The system logs out the user.
- The system redirects the user to the login page.
-
Modify Profile
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The user's profile is updated.
- Main Success Scenario
- The user accesses the profile page.
- The user fills in the profile form.
- The user submits the profile form.
- The system validates the profile form.
- The system updates the user's profile.
- Extensions
- A1: The user submits an invalid profile form.
- The system displays an error message.
- The user returns to step 2 and corrects the form.
- A1: The user submits an invalid profile form.
-
Create Session
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: Session is created.
- Main Success Scenario
- The user accesses the Create Session popup.
- The user fills in the Session form.
- The user submits the Session form.
- The system validates the Session form.
- The system creates the Session.
- The system redirects the user to the Session page, directly joining him to the Session.
- Extensions
- A1: The user is already joined in a Session.
- The system displays an error message.
- The user goes back to the home page.
- A2: The user submits an invalid Session form.
- The system displays an error message.
- The user returns to step 2 and corrects the form.
- A3: The user token is not valid.
- The system displays an error message.
- The user returns to step 2 and corrects the form.
- A1: The user is already joined in a Session.
-
Join Session
- Actor: Authenticated User
- Preconditions:
- The user is authenticated in the system.
- The specified Session has been previously created.
- Postconditions: The user is in the Session.
- Main Success Scenario
- The user accesses the Session page by specifying its Id in the URL.
- The system validates the Session URL.
- The system adds the user to the Session.
- The system updates the page with current Session information.
- Extensions
- A1: The user is already joined in a Session.
- The system displays an error message.
- The user goes back to the home page.
- A2: The user accesses an invalid Session URL.
- The system displays an error message.
- The user goes back to the home page.
- A3: The user token is not valid.
- The system displays an error message.
- The user goes back to the home page.
- A1: The user is already joined in a Session.
-
Look at a User's Profile
- Actor: Authenticated User
- Preconditions: The user is authenticated in the system.
- Postconditions: The user is looking at a user's profile.
- Main Success Scenario
- The user accesses a user's profile page.
- The system displays the user's profile.
- Extensions
- A1: The user accesses an invalid user's profile.
- The system displays an error message.
- The user goes back to the home page.
- A3: The user accesses a non-existing user's profile.
- The system displays an error message.
- The user goes back to the home page.
- A1: The user accesses an invalid user's profile.
User in a Session
When the user is in a Session, it can perform actions such as:
- Leave the Session
- Send a message
- Play the video
- Pause the video
- Move the video to a specific time
-
Leave Session
- Actor: User in a Session
- Preconditions: The user is joined in a Session.
- Postconditions: The user is disconnected from the Session.
- Main Success Scenario
- The user navigates to another Let's Stream It page or closes the Session tab.
- The system automatically removes the user from the Session.
- The system redirects the user to the requested page.
-
Send Message
- Actor: User in a Session
- Preconditions: The user is in a Session.
- Postconditions: Message is sent.
- Main Success Scenario
- The user fills in the message form.
- The user submits the message form.
- The system sends the message to the Session.
- The system displays the message in the Session.
-
Play Video
- Actor: User in a Session
- Preconditions: The user is joined in a Session.
- Postconditions: Video is playing.
- Main Success Scenario
- The user clicks on the play button.
- The system plays the Session video.
-
Pause Video
- Actor: User in a Session
- Preconditions: The user is joined in a Session.
- Postconditions: Video is paused.
- Main Success Scenario
- The user clicks on the pause button.
- The system pauses the Session video.
-
Move Video to a Specific Time
- Actor: User in a Session
- Preconditions: The user is joined in a Session.
- Postconditions: Video is moved to a specific time.
- Main Success Scenario
- The user fills in the time form.
- The user submits the time form.
- The system moves the Session video to a specific time.