Abstract
Spotter reimagines the fitness journey, seamlessly blending workout logging, progress tracking, and social connectivity into a single dynamic platform. Aimed at gym enthusiasts and fitness lovers, Spotter fosters a vibrant community where achievements are celebrated and motivation is shared. It is a holistic fitness ecosystem designed to offer comprehensive workout logging, social feed, leaderboards, direct messaging, statistics dashboard, group communities, and user profiles.
Author
Name: Connor Golin
Student number: 46932565
Functionality
Spotter is a holistic fitness ecosystem designed to offer:
- Comprehensive Workout Logging
- Users can add comprehensive details to workouts like exercises, sets, reps, weight, and notes
- Ability to upload images or videos of the workout
- Supports querying and filtering of workouts
- Social Feed
- Post, like, comment, and share fitness-related content.
- Upload images, videos, or live stream through a time-limited post, or ‘story’.
- Share posts with other online platforms.
- Leaderboards
- Ability to compete in friendly competitions
- View standings against others based on various metrics like workout consistency, progress, and engagement.
- Filter standings by region, gender, age, and workout type.
- Direct messaging
- Secure direct messaging to another user or a group of users.
- Statistics dashboard
- View overall workout progress, including charts, comparisons with others, or facts.
- Group Communities
- Enables users to create or join groups based on fitness interests, goals, or challenges.
- User Profile
- Allows the user to express a profile picture, custom bio, and a showcase of their posts.
Scope
The minimum viable product for Spotter focuses on the core functionalities necessary to engage and retain users:
- User account creation
- Users can securely sign up or log in
- Simple workout logging.
- Users can enter and specify details about a workout such as the sets, reps, date, and related notes.
- Users can search and filter existing workouts
- Social Feed
- Users can post, like, comment, and share fitness-related content.
- Content will be in the form of text or images for purposes of the MVP.
- User profile
- Users can express a profile picture, custom bio, and a showcase of their postson their personal page.
Quality Attributes
-
Scalability: Essential for accommodating a growing number of users and increasing simultaneous connections, ensuring seamless performance by dynamically adapting to demand spikes and high-usage periods, thus maintaining user experience as the platform expands.
-
Availability: High availability is crucial for Spotter as it is required to provide uninterrupted access for logging routines, tracking progress, and engagement within the community. Any downtime risks frustrating users and potential abandonment. Thus, High Availability is a must.
-
Maintainability: This is vital for Spotter’s ongoing relevance and responsiveness, especially in the rapidly changing landscape of online social platforms. Quick updates, bug fixes, and feature additions are essential to keep pace with evolving user needs and fitness trends.
Evaluation
Functionality
- User Account Creation:
- Verify that users can successfully create new accounts with valid credentials.
- Test account creation with various input scenarios (valid/invalid email, password strength, etc.).
- Ensure user data is securely stored and cannot be accessed without proper authentication.
- Simple Workout Logging:
- Test adding workouts with different exercise details (sets, reps, weight, notes).
- Verify that workout data is correctly stored and can be retrieved.
- Test search and filtering functionality for existing workouts.
- Social Feed:
- Verify that users can post, like, comment, and share fitness-related content.
- Test content sharing with different media types (text, images, videos).
- Ensure that feed updates are reflected in real-time for all users.
- User Profile:
- Test updating user profile details (profile picture, bio, and post showcase).
- Verify that changes are correctly reflected on the user’s profile page.
- Ensure that other users can view the updated profile information.
Quality Attributes
- Scalability:
- Method: Conduct load testing using tools like Apache JMeter or Locust to simulate concurrent user activities (login, workout logging, social feed interactions).
- Metrics: Response times, throughput (requests per second), resource utilisation (CPU, memory, database).
- Success Criteria: Maintain response times below 2 seconds and avoid resource saturation under expected load conditions.
- Availability:
- Method: Continuously monitor application uptime, response times, and error rates using tools like Pingdom, New Relic, or self-hosted monitoring solutions.
- Metrics: Uptime percentage, Mean Time To Recovery (MTTR), average response time.
- Success Criteria: Achieve at least 99.9% uptime, MTTR no more than 1 hour, and average response time below 500ms.
- Maintainability:
- Method: Track development metrics such as deployment frequency, lead time for changes, change failure rate, and time to restore service after an issue or outage.
- Metrics: Deployment frequency, lead time for changes, change failure rate, time to restore service.
- Success Criteria: Deploy new features or bug fixes within 2 weeks of development, change failure rate less than 10%, time to restore service after an issue within 4 hours.