-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements & Specifications
[Requirement & Specification - 2023/12/07 version 1.3] : update before submission - make docu up to date, fix typo and replace app UI picture
[Requirement & Specification - 2023/12/03 version 1.2] : User story updated and minor chagne
[Requirement & Specification - 2023/10/22, version 1.1] : Mission Updated
[Requirement & Specification - 2023/10/8, version 1.0]
It is an application that motivates people who want to run in various ways, helping them lead healthier lives. In response to studies showing that gamified fitness enhances user motivation* and the growing demands for personal training, the project propose two modes of running : single mode and multi mode running. In Single Mode, users can track their running distance, pace, elapsed time, and more. Additionally, the application offers its own machine learned missions to provide motivation and add fun to running for those who need it or simply want to enjoy a more engaging experience. In Multi-Mode, users can remotely compete in running races with other users in real time. While their competitors may not be physically nearby, we create a virtual space that simulates the experience of running together, enhancing users' performance. Upon successful completion of their runs, It provides them with experience points (exp), badge and history to further motivate their journey to a healthier lifestyle.
- Customer
- Everyone willing to run especially with other people
- People who need motivation for running
- People who want to show off their records
- People who want to build daily running routine
* Cho, Inje, Kyriaki Kaplanidou, and Shintaro Sato. (2021). "Gamified Wearable Fitness Tracker for Physical Activity: A Comprehensive Literature Review" Sustainability 13, no. 13: 7017. https://doi.org/10.3390/su13137017
Nike Run Club | Run Day | Ours | |
---|---|---|---|
Single-Mode Measuring Running Record | O | O | O |
Single-Mode Missions | X | X | O |
Multi-Mode Real-time Race | X | O | O |
Reward System - leveling | X | X | O |
Reward System - badge | O | O | O |
Goal: Authenticate a user with an account.
Primary Actor: User with an account.
Scope: RunUs authentication system.
Level: User
Precondition: User has an existing and valid account.
Success End: User successfully signs in and gains access to their account.
Failure End: User fails to sign in and does not gain access to any account.
Trigger: User initiates the sign-in process.
Main Success Scenario:
- User provides their ID and password.
- System verifies the provided credentials.
- If given credentials are valid, the user gains access to their account.
Extensions (Error Scenarios):
- If the provided ID or password is incorrect, the system displays an error message.
Variations (Alternative Scenarios):
- None.
Goal: Create a new user account.
Primary Actor: User who are willing to create an account.
Scope: RunUs registration system.
Level: User
Precondition: User does not have an existing account.
Success End: User successfully creates a new account.
Failure End: User is unable to create a new account.
Trigger: User initiates the registration process.
Main Success Scenario:
- User provides required information, including email, password, height, weight, gender, etc.
- System validates the provided information.
- If the information is valid, the system creates a new user account.
Extensions (Error Scenarios):
- If the provided ID is already registered, the system informs the user to choose a different email.
- If any required information is missing or invalid, the system prompts the user to correct it.
Variations (Alternative Scenarios):
- None.
Goal: Reset the user's password and Find Id.
Primary Actor: an User who has forgotten his account information.
Scope: RunUs authentication system.
Level: User
Precondition: User has forgotten his account information.
Success End: User successfully resets his password and finds Id.
Failure End: User is unable to reset his password.
Trigger: User initiates the password recovery process.
Main Success Scenario:
- User provides his registered email address.
- System verifies the email address.
- If the email address is valid, the system sends an authentication code to the user's email.
- User receives the code and enters it on the application's authentication screen.
- If the code is correct, the user is allowed to reset their password.
- User also provides his email address to find ID.
- If the email address exists in DB, the system sends an email to user's email that includes ID information.
Extensions (Error Scenarios):
- If the provided email address is not registered, the system informs the user to provide a valid email.
- If the code entered is incorrect, the system displays an error message.
Variations (Alternative Scenarios):
- None.
Goal: Record and save running data for future reference.
Primary Actor: User who wants to check running records (Runner).
Scope: Single mode.
Level: User
Precondition: User is prepared for running session.
Success End: Running data is recorded and saved successfully.
Failure End: Running data is not recorded or saved.
Trigger: User starts single mode.
Main Success Scenario:
- User signs in to the application.
- User presses the single mode tab.
- System recommends goals such as distance, time, and pace.
- User starts running.
- Application measures and records running data (distance, time, pace).
- User finishes running.
- Running data is saved in the user's profile for future reference and check it in history page.
Extensions (Error Scenarios):
- If the user press stop button of the run, the application provides options to resume or end the session.
- In the event that the application determines that the user is using a different kind of transportation instead of running includes car, bus or something, it can pause the tracking of the running record.
Variations (Alternative Scenarios):
- None.
Goal: Engage the user in running through missions.
Primary Actor: User who wants to make running more engaging.
Scope: Single mode.
Level: User
Precondition: User has checked today's mission and started a running session.
Success End: User successfully completes or fails a mission during their run.
Failure End: The mission that shoud provided for user is not shown.
Trigger: User is prepared for a running session.
Main Success Scenario:
- User checks their missions for each running session.
- User starts running.
- Application tracks the progress of missions.
- Upon completion or faliure of a mission, when the user finishes the running session, he can get other mission according to his records.
Extensions (Error Scenarios):
- None
Variations (Alternative Scenarios):
- None.
Goal: Allow users to create a virtual running room.
Primary Actor: User who wants to compete with others.
Scope: Multi-mode.
Level: User
Precondition: User wants to create a room for running.
Success End: User successfully creates a running room.
Failure End: User is unable to create a room.
Trigger: User initiates the room creation process.
Main Success Scenario:
- User sets parameters such as group name, distance, start time, number of participants, etc.
- Application validates the information.
- If the information is valid, the user successfully creates a running room.
Extensions (Error Scenarios):
- If the user provides invalid or incomplete information, the application prompts them to correct it.
Variations (Alternative Scenarios):
- None.
Goal: Allow users to find and join running races.
Primary Actor: User who wants to compete with others.
Scope: Multi-mode within the running application.
Level: User.
Precondition: User wants to find and join a running race.
Success End: User successfully finds and joins a running room.
Failure End: User is unable to find or join a room even though rooms exist.
Trigger: User initiates the search for running rooms.
Main Success Scenario:
- User go to multi mode tab.
- Application displays a list of rooms existed at that time.
- User selects a room and joins it.
Extensions (Error Scenarios):
- If there are no rooms that match the user's criteria, they can create a room.
Variations (Alternative Scenarios):
- None.
Goal: Provide users with a waiting screen before the race starts.
Primary Actor: User who has joined a running room.
Scope: Multi-mode
Level: User
Precondition: User has joined a running room and is waiting for the race to begin.
Success End: User successfully views the waiting screen.
Failure End: User exits the room or experiences issues with the waiting screen.
Trigger: User enters a room and is awaiting the start of the race.
Main Success Scenario:
- User enters the room and is directed to the waiting screen.
- User can see information about the room, including the remained time until the race starts and a list of participants.
- User can determine whether to leave or not the room depending on their decision.
Extensions (Error Scenarios):
- If the user experiences technical issues with the waiting screen, they may choose to exit the room.
Variations (Alternative Scenarios):
- None.
Goal: Enable users to compete in real-time running races.
Primary Actor: User participating in a running race (Runner).
Scope: Multi-mode.
Level: User.
Precondition: Race with pre-determined conditions has started.
Success End: User successfully competes in the race, reaching the goal distance.
Failure End: User is unable to complete the race or race information is not rendered during race.
Trigger: User starts a multi mode running race.
Main Success Scenario:
- User competes with other runners in real-time
- Application provides real-time data such as distance covered, elapsed time, and rankings.
- User adjusts their pace based on real-time information.
Extensions (Error Scenarios):
- If the user decides to exit the race before completion, they may do so.
- In the event that the application determines that the user is using a different mode of transportation including car, bus or something instead of running, it can pause the tracking of the running record.
Variations (Alternative Scenarios):
- None.
Goal: Motivate users through an incentive system.
Primary Actor: User needing extra motivation for exercise.
Scope: Running application's reward system.
Level: User.
Precondition: User completes participates in races.
Success End: User earns experience points (exp) and badges.
Failure End: User does not earn rewards or badges even though the conditions fulfilled.
Trigger: User completes missions or participates in races.
Main Success Scenario:
- User completes missions or participates in races.
- User earns experience points (exp) and badges as a reward for their achievements.
Extensions (Error Scenarios):
- If the user fails to complete missions or races, they may not earn rewards.
Variations (Alternative Scenarios):
- None.
Goal: Allow users to review their past running records.
Primary Actor: User who wants to review their running history (Runner).
Scope: Running application's history feature.
Level: User goal level.
Precondition: User wants to access their running history.
Success End: User successfully views their running records.
Failure End: User encounters issues accessing their history.
Trigger: User initiates the process to view their running history.
Main Success Scenario:
- User accesses the history section of the application.
- User views their running records, including past distances, times, calroreis as monthly or daily view.
Extensions (Error Scenarios):
- None.
Variations (Alternative Scenarios):
- None.
As a new user, I want to create my account and login so that I can use the app. The system should authenticate my id and password. As a user, I also want to find my id and password using my email address. Additionally, I want to change my password whenever I want.
Given I am a new or existing user of the Runus app,
When I interact with the account creation, login, and password management features,
Then the following criteria should be met:
- As a new user, I can create an account by providing a unique username, email address, and setting a password.
- Upon successful account creation, I receive a confirmation message.
- As a registered user, I can log in by authenticating my username and password.
- If I enter incorrect login credentials, I receive an error message.
- If I forget my password, I can request a reset through a 'Forgot Password' feature using my email address.
- I can successfully reset my password using the instructions received via email.
- If I forget my username or password, I can use my email for account recovery, receiving my username and a password reset.
- I receive clear notifications or messages confirming successful actions like account creation, logging in, password resetting.
As a user seeking to enhance my solo running experience by setting personalized goals beyond just time and distance, I can utilize the Single Mode's Custom Mode in RunUs. Within the Custom Mode, I can input specific distance and time targets, allowing me to track my progress in real-time during the run, including pace, distance, and time. Upon completion, I can review my final performance metrics. Additionally, the RunUs application incorporates an experience points system, providing an opportunity for leveling up based on achievements in each run. After finishing a run, I can check my gained experience points on the My Page section.
Given I am a user seeking to enhance my solo running experience,
When I interact with the Single Mode's Custom Mode in RunUs,
Then the following criteria should be met:
- In the Custom Mode, I can set personalized goals including specific distance and time targets.
- During my run, the app should provide real-time tracking of my progress, including pace, distance, and time.
- Upon completing a run, I can review my final performance metrics within the app.
- The RunUs app incorporates an experience points (XP) system that rewards me for achievements during each run.
- After finishing a run, I should be able to check the experience points I have gained in the 'My Page' section.
- The app should provide a system of leveling up, where my achievements in runs contribute to my overall progress.
As a user looking to make running more engaging, I'd like to receive missions in Single Mode, recommended by RunUs's mission recommendation model. These missions would change each time based on my records, allowing me to enjoy workouts that involve more than just time and distance
Given I am a user looking to make my running experience more engaging,
When I use the Single Mode in RunUs,
Then the following criteria should be met:
- The RunUs app should offer me missions in Single Mode, which are recommended by its mission recommendation model.
- These missions should be dynamic and change each time I use the app, based on my previous running records.
- The missions provided should offer varied workout experiences, focusing on aspects beyond just time and distance.
- The app should be able to tailor these missions to suit my fitness level and running history, ensuring they are both challenging and achievable.
As a user who wants to run with others, I can enter an existing multi-mode room. The game will start when the designated start time is reached. During the game, I can receive real-time updates on other participants' records and rankings, and check the results at the end of the game
Given I am a user who wants to run with others,
When I interact with the multi-mode feature in RunUs,
Then the following criteria should be met:
- I can easily enter an existing multi-mode room in the RunUs app.
- The run or game in the multi-mode room starts automatically at the designated start time.
- During the game, I should receive real-time updates on the records and rankings of other participants.
- The app should provide a user-friendly interface for viewing these real-time updates.
- At the end of the game, I can check the final results, including my own performance and the rankings of top3 participants.
- The app should ensure that the real-time updates are accurate and timely, enhancing the competitive and communal aspect of the run.
As a user who needs extra motivation to continuously exercise, I can earn experience points (exp) to level up, or gain badges by meating some goal criteria while using our app (such as winning multimode race for preset number of times), so that user can get some extra motivation by feeling more achievements.
Given I am a user needing extra motivation to continuously exercise,
When I use the RunUs app for my workouts,
Then the following criteria should be met:
- I can earn experience points (EXP) for various running and achievements within the app, contributing to my overall level-up process.
- I can gain badges by meeting certain goal criteria, which could include winning a multi-mode race a preset number of times or achieving specific fitness milestones.
- The criteria for earning badges should be challenging yet achievable, encouraging continuous effort and improvement.
- Each badge should have a unique design and significance, making them desirable and a symbol of achievement.
- The app should provide a section where I can view my accumulated experience points, current level, and the badges I have earned.
- The level-up system and badges should serve as motivational tools, offering tangible rewards and recognition for my efforts and achievements in exercising.
- The app should have minimal load times, ensuring a seamless user experience.
- Real-time features, like updates in Multi-Mode races, should be updated without noticeable delays.
- The system must be scalable to handle an increasing number of users and simultaneous multiplayer sessions.
- The application should maintain high uptime, with minimal outages or disruptions.
- Running data and user progress should be accurately tracked and stored without loss.
- User data, including login credentials and personal running records, must be securely stored.
- The system should implement robust authentication mechanisms to prevent unauthorized access.
- The application should have an intuitive and user-friendly interface suitable for all user groups.
- Accessibility features should be included to cater to users with different abilities.
- The app should be compatible across various android devices and operating systems.
- It should function well with different GPS models for accurate tracking.
- User privacy must be respected and protected, with clear policies on how user data is used and shared.
- The system should be easy to maintain and update, allowing for regular enhancements and bug fixes.
- Efforts should be made to minimize the environmental impact of the app's operation, including efficient use of resources and data.
These non-functional requirements ensure that the app not only meets the functional needs but also provides a reliable, secure, and enjoyable experience for its users.