User Scenarios - ossarioglu/SWE573-repo GitHub Wiki

User Scenarios for different system capabilities

Visit as a guest user

Hülya has heard from her friends about a community that people share services each other. Even though she had very positive feedbacks about this system, she wants to observe its website before joining the community.

  • Enter website via browser
  • Main page shows 5 recent services provided at timeline
  • Comments and quotas from Top 3 rated users
  • A text box for input key worlds for searching service
  • A "Search" button
  • There is a sign-in/sign-up panel
  • Hulya enters "#painting" at Search text, and click Search button
  • Search results are listed at the same page containing information below:
    • Service Name
    • Duration
    • Time
    • Location ("Online" if it's not face-to-face)
    • Apply button
  • When Hülya clicks on "Apply" button, she is directed to quick sign-up screen
  • This screen shows a text alert on page "You need to sign-in for using this service"

Sign-up as new user

After her observation on system, Hülya wants to join the community and decided to sign-up.

  • Enter website via browser
  • At the sign-in/sign-up panel, she clicks on sign-up
  • Sign-up page is loaded.
  • Sign-up page has text input fields for
    • user name
    • password
    • retype of password
    • email address
    • name and surname
    • geo-location
    • sign-up button
  • When Hülya inputs information and clicks on "Sign-up" button, a validation process runs at page
  • Validation process checks:
    • Whether "user name" is available or having valid characters
    • Whether retyped password matches with first input
    • Whether "email address" is valid (having "@", ".")
  • In case any validation fails, Hülya gets an alert next to relevant input field with font color "Red"
  • If all validation passes, Sign-up page progress to another page for detailed profile information.
  • There are two button at the end of the page
    • "Quick Signup": This button ends signup process
    • "Signup": This creates user and updates profile with information at page
  • At the page, there are 3 more fields for inputs of user profile
    • "What do you know or good at?" (Mandatory) can be added as tags with # at each keyword, and "," between each other
    • "What would you like to learn or interested in?" (Mandatory) can be added as tags with # at each keyword and "," between each other
    • Picture is optional
  • In order to finish sign-up process, Hülya clicks on "Signup".
  • If she didn't write input for mandatory fields, she gets alerts next to relevant input field with font color "Red"
  • When signup process is completed, a "Welcome Page" appears a message "Welcome Hülya, we are glad that you joined our community", "You have 10 credits as start-up bonus. You can use them while taking services. You can earn credits by collaborating with community and giving service"
  • 10 credits is a default value. It's parametric, and set-by admin of system.

Search for services

Melis wants to take face-to-face "Math" lesson on Saturdays. She has just joined the community, and having 10 credit. She will search for suitable math lessons.

  • Melis enters the system via webpage by inputting login credentials.
  • At the main page there search text field (search bar)
  • Below of this search bar, there hyperlink mentioned "Detailed Search"
  • Melis enters "#math #class" at Search bar, and click Search button
  • Search results are listed at the same page containing information below:
    • Service Name
    • Duration (Duration means credit to be deducted at the same time)
    • Time
    • Service provider name
    • Reputation Rating of service provider
    • Location ("Online" if it's not face-to-face)
    • Apply button
  • Melis sees first 20 search results. If she scrolls down, further query results are uploaded
  • Results are listed according to sorting earliest activity on top
  • When Melis clicks on "Apply" button, if she has available credit, her credit is deducted, and a notification appears about confirmation of her application.
  • If Melis doesn't have enough credit, she receives an alert about this.
  • If Melis wants to learn more details about profile of user, she can click on user name
  • If Melis wants to see detailed view of offering, she clicks on the event
  • In case Melis wants to have a detailed search, she clicks on "Detailed Search" hyperlink.
  • In detailed search, Melis gets additional inputs for progress
    • Keywords
    • Category
    • Duration interval (Min-Max)
    • Time interval from search (Start-End)
    • Face-to-Face / Online
    • Location if Face-to-Face is selected
    • Minimum Reputation Rating of service provider
    • Apply button
  • When she clicks on Apply button, search results are listed matching with criteria above

Create a new service

Ahmet took "Tango" lessons 4 times with this system, and he joined to a dance club with direction of his tango instructor Birsen. Now, he believes he can also add some offering about "Gardening" and collaborate with community.

  • Ahmet enters the system via webpage by inputting login credentials.
  • On right top of the website, he sees his profile picture, and arrow pointing below.
  • When he clicks on his profile picture, he sees options for actions:
    • User name as information
    • Remaining credits as information
    • Reputation Rating as information
    • Create a new service
    • Respond to offerings
    • Search for a service
    • Update Profile
    • Logout
  • When Ahmet clicks on "Create a new service", he's directed to create the service page.
  • At this page, he sees input text fields, and he starts to fill them.
    • Service Name: Let's plant together
    • Duration: 2 hours
    • Time : 27/11/2021 10:00
    • Location: Marmaris, Muğla
    • Keywords: #Gardening, #Flowers, #Planting
    • Category: Courses -> Gardening
    • Details of Activity : I have a garden for last 10 years. I have different types of flowers, fruit trees, and I also plant vegetables every season. For people interested in gardening, I will set a 2 hour session regularly for group of minimum 3 people. We can seed seasonal vegetables and flowers, collect fruits.
    • Latest Application: 22/11/2021 00:00
    • Number of people: 10
    • Recurrence: 5
    • Latest Time to Cancel: 23/11/2021 00:00
  • Ahmet clicks on Create button after filling all fields.
  • He gets a notification alert, mentioning it's successfully created or failure notification after validating his inputs.

Assign services to applied users

After Ahmet published his offering, he had received 6 application notifications about it. He also received a notification at 22/11/2021 00:00 that application window is closed, so he can assign who to select to event.

  • On right top of the website, he sees his profile picture, and arrow pointing below.
  • When he clicks on his profile picture, he sees options for actions:
    • User name as information
    • Remaining credits as information
    • Reputation Rating as information
    • Create a new service
    • Respond to offerings
    • Search for a service
    • Update Profile
    • Logout
  • He sees a notification ( 6 in an orange circle) near to "Respond to offerings"
  • When Ahmet clicks on "Respond to offerings", he's directed to related page.
  • In this page there is list of users applied for event
  • At the top of the list, he gets a notification mentioning "6 application is received against 10 capacity. Do you want to proceed?" and there are Yes/No buttons.
  • If Ahmet clicks on "No", event is cancelled and a notification is sent to users applied: "Event is cancelled due to insufficient applications to organize the event".
  • Since Ahmet was ok to facilitate the activity with minimum 3 users, he clicks on "Yes", and this activates editing list.
  • In the list, there are information about users:
    • "New" sticker if user is new comer
    • User Picture if available
    • User Name
    • Reputation Rating
    • Number of offerings applied / participated / % of participation
    • Location
    • Approve button for each line
  • Ahmet clicks Approve button for users he selected. When he selects, "Approve" button transformes a "Check" icon for users he selected.
  • If there were more than 10 applications, Ahmet would have "Remaining Capacity" notification at the top of the list. As he selects users, this number is deducted. When there is "0" remaining capacity, and he selects a user, he gets an alert "Not available capacity".
  • After he finishes selection, he clicks on "Finish" button to finalize process.
  • If he didn't allocate all available capacity he gets an alert "Whether he wants to proceed or not" with a Yes/No selection.
  • When process is finalized, all selected users get a notification with a message whether they are selected or not.