Skip to content

Use Case Scenarios

Samet Alan edited this page Oct 20, 2024 · 5 revisions

Use Case Scenario: Fitness Platform

Use Case 1: User Registration and Login

Actors: Matt (Guest User), System

Precondition: Matt has access to the platform via a browser or mobile application.

Background Story:
Matt, a 20-year-old university student, has always been skinny and is determined to gain muscle and improve his fitness. After hearing about the platform from a friend at the gym, he decides to give it a try. Matt knows he needs a structured approach, and the platform offers workout plans and community support, which he thinks will help him stay consistent. He registers on the platform, choosing a strong password and unique username, excited to start his journey toward building muscle.

Flow:

  1. Matt opens the platform and selects the option to register.
  2. The system displays a registration form asking for:
    • A unique username following the specified rules (starting with a letter, allowing letters, numbers, underscores, and dashes, with restrictions on length).
    • A strong password that meets the platform’s security criteria (numbers, symbols, uppercase, lowercase letters, and length requirements).
    • A valid, unique email address.
  3. Matt fills out the form and submits it.
  4. The system verifies that the username and email are unique and that the password meets the criteria.
    • Otherwise returns the criteria(s) that is/are not satisfying the conditions.
  5. The user can now log in using their registered credentials.
  6. Once logged in, Matt can interact with posts, create new content, and engage with other users.
  7. Matt can log out at any time.

Postcondition: Matt is registered in the system and can log in using his credentials. Desktop Desktop-1 Desktop-5 Main Page Example


Use Case 2: Posting and Interacting with Content

Actors: Emily (Registered User), System

Precondition: Emily is logged in to the platform.

Background Story:
Emily, a 25-year-old fitness enthusiast, has been on her fitness journey for several years, and she loves sharing her workouts and tips with her followers. After completing a particularly tough high-intensity interval training (HIIT) workout, she feels proud of her achievement and decides to post her routine on the platform. Emily enjoys interacting with her community, offering advice on form and motivation, and she frequently receives comments and likes from others who find her posts helpful. She hopes her shared content will inspire others to stay committed to their fitness goals.

Flow:

  1. Emily navigates to her homepage and selects the option to create a post.
  2. The system provides a form where Emily can:
    • Add a title, text, image, video, or external link.
    • Optionally add labels such as nutrition, muscles, or exercise types.
  3. Emily submits the post.
  4. The system saves the post and displays it on Emily’s personal page and relevant areas of the platform.
  5. Other registered users can view the post, like, and comment on it.
  6. Emily receives notifications when someone comments or likes her post.

Postcondition: The post is created and visible to other users. Emily can edit or delete her post at any time.


Use Case 3: Following and User Interaction

Actors: John (Registered User), System

Precondition: John is logged in and viewing posts from other users.

Background Story:
John, a 30-year-old certified personal trainer, uses the platform not only to manage his clients but also to engage with other fitness professionals. While browsing posts, John comes across a workout routine shared by another experienced trainer. Intrigued by the exercises and tips, John decides to follow the trainer to keep up with their content. As John builds his network, he also values maintaining a positive, respectful community and reports users who post inappropriate content. The platform allows him to stay connected and continuously learn from others in his field while fostering a supportive fitness environment.

Flow:

  1. John sees a post from another user he finds interesting.
  2. John clicks the option to follow the other user.
  3. The system updates John's following list and shows him with a popup that he is now following the user.
  4. The followed user receives a notification that someone has followed them.
  5. If John finds another user’s behavior inappropriate, he can report or block the user via their profile page.
  6. The system takes appropriate action based on the report (e.g., flagging for administrator review, muting, or blocking).

Postcondition: John’s social interactions (following, blocking, reporting) are recorded, and notifications are sent as needed.


Use Case 4: Creating and Joining Training Programs

Actors: Sarah (Trainer), Matt (Trainee), System

Precondition: Sarah must be logged in as a Trainer, and Matt must be logged in as a Trainee.

Background Story:
Sarah, a 35-year-old professional trainer, has been coaching clients for over a decade, focusing on strength training and muscle building. She knows that many beginners like Matt struggle with understanding how to properly structure their workouts. Sarah logs in to the platform and creates a comprehensive 8-week muscle-building program aimed at helping beginners train at home. Her program includes detailed exercise instructions, the number of repetitions and sets, and a focus on key muscle groups. Sarah’s goal is to reach trainees who want expert guidance without needing to go to the gym, making fitness accessible to all.

Flow:

  1. Sarah navigates to her dashboard and selects the option to create a new training program.
  2. The system provides a form where Sarah enters:
    • The title of the program.
    • Whether the program is for a group or an individual.
    • The location categorization (e.g., home, gym, outdoor).
    • Specific details about exercises like number of repetitions and sets, the order of exercises.
  3. Sarah submits the program.
  4. The system saves the program and makes it available to trainees like Matt in the search results.
  5. Matt searches for training programs and finds the one created by Sarah.
  6. Matt can bookmark the program to save it and access it easily later on.
  7. Matt joins the program, and Sarah receives a notification.
  8. Matt can see the muscle groups targeted in the training program.

Postcondition: The program is created, and trainees like Matt can join it. Trainers and trainees can track their progress.


Use Case 5: Search and Filter

Actors: Oliver (Registered User), System

Precondition: Oliver is logged in or using the search feature as a guest.

Background Story:
Oliver, a 27-year-old office worker, is trying to stay fit despite his long work hours. Recently, he’s noticed that his leg strength is lagging behind his upper body, so he decides to search for leg-specific workouts on the platform. Using the search and filter options, Oliver inputs keywords like "legs workout" and "strength training" and is able to quickly find relevant content, including posts from trainers, exercise programs, and nutritional tips for muscle recovery. By narrowing down his search with filters, he can focus on the specific routines that match his fitness goals.

Flow:

  1. Oliver enters keywords in the search bar (e.g., "nutrition," "legs workout"), or choose a muscle group from the interactive diagram to filter that muscle group.
  2. The system processes the search and returns a list of relevant cards and posts.
  3. Oliver applies filters such as nutrition, trainers, muscles, or exercise types.
  4. Oliver selects a card or post from the search results to view more details.
  5. The system displays the detailed content of the selected item.

Postcondition: Oliver can find relevant fitness material and programs using the search and filtering tools.


Use Case 6: Notifications

Actors: Emma (Registered User), System

Precondition: Emma is logged in and has made posts or followed other users.

Background Story:
Emma, a 28-year-old fitness influencer, has built a large following on social media by sharing her fitness journey, workouts, and tips for maintaining a healthy lifestyle. Using the platform, Emma regularly posts new workout routines, from yoga to strength training, and enjoys the engagement she gets from her followers. Every time someone likes or comments on her post, the system sends her notifications, helping her stay connected to her audience. Emma also receives alerts when users she follows, such as her fellow fitness influencers, post new content, which helps her stay up-to-date with trends in the fitness world.

Flow:

  1. Emma creates a post or follows another user.
  2. When someone interacts with Emma’s post (e.g., likes or comments), the system sends a notification.
  3. If the followed user creates new content, the system sends a notification to Emma.
  4. Emma can view notifications through her dashboard or receive mobile notifications, depending on her settings.

Postcondition: Emma receives timely notifications about relevant activity on the platform.


Use Case 7: Leaderboard and Streaks

Actors: Alex (Trainer or Trainee), System

Precondition: Alex must be logged in and specified role as a Trainer or Trainee.

Background Story:
Alex, a 22-year-old competitive athlete, thrives on challenges and constantly looks for ways to improve his performance. He recently joined the platform to push himself further by tracking his progress and comparing it with others. Alex enjoys the leaderboard feature, which ranks users based on their activity and achievements. He participates in daily challenges, completing training programs and maintaining streaks to climb the leaderboard. Each time Alex sees his position improve, he feels motivated to train harder. For Alex, the streaks and leaderboard are not just about competition but about self-improvement and staying on top of his fitness game.

Flow:

  1. Alex engages with the platform by completing training programs and earning points.
  2. The system tracks daily challenges and training sessions to determine streaks.
  3. The system updates the leaderboard based on Alex’s points.
  4. Alex can view his position on the leaderboard and strive to improve his rank.

Postcondition: The leaderboard is updated based on user activity, and streaks are rewarded.


Use Case 8: Dieticians and Diet Programs

Actors: Lily (Dietician), System

Precondition: Lily must be logged in and her role should be a Dietician.

Background Story:
Lily,

Flow:

  1. Lily navigates to her dashboard and selects the option to create a new diet program.
  2. The system provides a form where Lily enters:
    • The title of the program.
    • The diet type categorization (e.g., low-calorie, low-fat, high-protein).
    • The daily meal plans.
    • Specific details about diet like timing, portion size, alternatives or substitutes for special dietary preferences.
  3. Lily submits the diet program.
  4. The system saves the diet program and makes it available to registered users like Matt in the search results.
  5. Matt searches for diet programs specifying some categories and finds the one created by Lily.
  6. Matt can bookmark the diet program to save it and access it easily later on.
  7. Matt joins the diet program, and Lily receives a notification.

Postcondition: Matt can find relevant diet programs using the search and filtering tools and Lily can see who are following the diet program.

Clone this wiki locally