Skip to content

SRS_Demo1

Luqmaan Abram edited this page Jun 26, 2023 · 1 revision

SweatSession


Introduction

The purpose of SweatSession is to develop a social, location-based mobile app that will enable users to schedule workout sessions with their friends, track their progress, view their friends' personal bests, and earn rewards for achieving their fitness goals. The app aims to provide a platform that will make it easy for users to connect with workout partners, track their progress, and earn rewards. By incorporating social and gamification elements such as leader boards amongst friends, the app hopes to encourage users to adopt a healthy and active lifestyle. The app will have many subsystems that will be integrated to provide its functionality. A non-exhaustive list of such subsystems will be the location-based element so that users can schedule workouts together, the social element to add friends as well as view their workout plans, personal bests, etc., a leader board element amongst friends based on workout times and more. The project presents many design elements that will have to be catered for such as a robust and scalable backend to accommodate multiple users, designing an intuitive and aesthetic design to ensure that users continue to use the app, location-based services and more.

This wiki will include cover multiple areas of documentation such as the functional requirements and use case diagrams.


Functional Requirements

The functional requirements of SweatSession are listed as follows:

Social features:

  • Users should be able to add friends
  • Friends should be able to schedule workouts together
  • Friends should be able to view each other's schedules

Location features:

  • Users should be able to select which gym they plan to workout at
  • Users should be able to see when are where their friends are planning to workout

Workout Tracking features:

  • Users should be able to track their progress
  • Users should be able to set goals
  • Users should be able to view personal bests

Reward system features:

  • Users should be awarded badges/points for milestones like achieving a personal best, completing a workout schedule, number of workout sessions, etc.

Leaderboard features:

  • There should be a leaderboard that contains user's points from the reward system allowing users to compete and see each other's progress

Profile features:

  • Users should be able to set information on their profile such as their bio.
  • Users' profiles should contain their workout plan, schedule and personal information.

Chatbot features:

  • A chatbot should be integrated so that users can ask about topics such as meal plans, workouts, nutrition, etc.
  • The chatbot should make use of an API such as OpenAI.

Notifications features:

  • Users should be notified if a friend is joining them at the gym
  • Users should be notified of their gym progress
  • Users should be notified of any significant or relevant updates.

Use Case Diagrams

Below are some use case diagrams of the features we are implementing right now.

  • Authentication Subsystem

    • image
  • Profile Subsystem

    • image
  • Friends Subsystem

    • image
  • Scheduling Subsystem

    • image

Class Diagram

Capture