Skip to content

Stream Fitness

Igor Silva edited this page Oct 17, 2022 · 79 revisions

Stream Fitness Manual

Summary

1. What is Stream Fitness?

2. Technologies

Ruby v2.5.1

Rails v6.0.3

Mysql2 v0.5.3

3. Running Stream Fitness

First, is necessary to clone the API project from the main branch: git clone [email protected]:stream-fitness/stream-api.git

After cloning, go to the project folder and run bundle and then yarn commands to install all gems of the project.

Run rails db:create to create the project database.

Run rails db:migrate to apply all Schema alterations.

To use this project properly is necessary to replace the credential files inside the project. Ask for an administrator for the updated credential files, then go to the project folder Config > Credentials and replace the files. With the system console, run the EDITOR=nano rails credentials:edit --environment development command to edit YOUR database information access (username and password).

When credentials were altered, run rails s command to start the project.

This project work with another one made in React. To use the web functions, you will need to clone the Stream Web project: git clone [email protected]:stream-fitness/stream-web.git

After cloning, download and install Redis and ElasticSearch services then go to the project folder, run npm install and then npm start. When the npm start command is used after rails s, the console will ask you to use another port (like :3001) because :3000 is already in use by the API build, just press Y to use another one and the project will be available to test/work in the local link localhost:3001.

4. System Resources

4.1 Dashboard

This is one of the first screens of the system. Here you will see some general information about the profile logged. Below it, a bar will be shown with seven buttons: My Calendar, Invites, PRs, Benchmarks, Workouts, Account, and Edit Profile.

4.1.1 My Calendar

This bar will be available with three buttons: on the left will be the button with the day before, in the middle a button with today's date, and on the right a button with the next day.

Underneath this bar, will be shown a table with all classes available. If no classes were registered, a message "No classes for the selected day." will appear.

4.1.2 Invites

On this tab will be shown all invites made by the gym owner and/or coaches for workouts.

4.1.2 PRs

This tab will be used to save Personal Records of determined exercises chosen by the user on the list.

4.1.3 Benchmarks

This tab will let you save more than one kind of exercise (with one session) and make a graphic to observe performance.

4.1.4 Workouts

This tab will let you save one kind of exercise (with more than one session)

4.1.5 Account

On this tab, will be available some clickable buttons show the account information.

Payment methods: will show all your credit cards.

Active memberships: will show all membership subscriptions and their status.

Children: will let you add your children to execute exercises.

Payments: Will show all payment history, including memberships, plan renews, values about partners, and competitions.

Favorites: Will show all channels that the user favorited.

Playlists: Show the playlists that were bought.

4.1.6 Edit Profile

On this tab, you can edit all your personal information and links.

4.2 Classes

On this tab, you will see the filter of the upcoming, recent, and registered streams available. Each one of these sessions has a button named "See All", which is to show all streams of the session.

4.2.1 Filters

The filter button allows you to select streams by:

  • Range Date (All, This Week, Next Week, and This Month)
  • Languages (All, Arabic, Austrian, Bulgarian, Danish, Dutch, English, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Latvian, Mandarin, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swahili, Swedish and Ukrainian)
  • Duration (All, 15 min, 20 min, 30 min, 45 min, 1 hour, 1 1/2 hours, and 2 hours)
  • Type (All, CrossFit, Weight Lifting, Power Lifting, Olympic Lifting, HIIT, Personal Training, Yoga, Mobility, Kids Fitness, Adaptive Fitness, PiYo, Pilates, Barre, Martial Arts, Cardio, and Boxing)
  • Age (All, 12 & Under, 13 - 17 Teens, 18 - 39 Adult, 40 - 60 Masters, and 60+ Legends)
  • Intensity (All, Low, Moderate, Hight, and Varied)
  • Equipment (All, Required, Optional, and Not Needed)
  • Difficulty (All, Beginner, Moderate, Advanced, and All Levels)

4.3 Channels

On this tab, will be available first the featured channels. A button named "See all" will expand the tab, showing all the channels. Above the channels list box, you will see a search box, where you can find channels by name.

4.4 Coaches

On this tab, will be available first the featured coaches. A button named "See all" will expand the tab, showing all the coaches. Above the coaches list box, you will see a search box, where you can find coaches by name.

4.5 Competitions

This tab will show two boxes: Current and Recents. The tab current will show all competitions that are currently running. Recents box shows a list of all the competitions that are currently ended. Above the competitions list box, you will see a search box, where you can find competitions by name.

4.6 More

The "More" button will open a sidebar on the right side of the system with a whole range of options, but most of them are just for administrators.

4.6.1 Manage Account

This tab will open a modal named "My Channels" where you will choose what channel will be edited. Three things will be available on this modal: search box, Create Channel Button, and "Manage" button at the side of each channel of which you are the administrator or coach. Depending on what role you have, more or fewer menu tabs will be displayed, following this rule:

Admin: Manage Account, Create Competition, Partner, Edit Profile, Admin, and Sign out.

Coach: Manage Account, Create Channel, Create Competition, Edit Profile, and Sign Out.

Athlete: Edit Profile, and Sign Out.

4.6.2 Create Channel (Only for Coach)

This lateral menu will be shown only when a coach doesn't have access to more than one channel, otherwise, the side menu will display the "Manage Account" option and it will be shown as a button "+ Create Channel" inside the "My Channels" modal.

On this New Channel page, you will create a fresh new channel with the following information:

Channel Name, Description, Instagram, Contact Email, Country, State/Province, City, and Physical locations if the gym has a physical place - Name, Street, Street 2 (if more than 1 place), City, State/Province, Postal Code, and if it is Active (Yes or No radio button). Options videos from Youtube or Vimeo can be posted too, like a preview to show for either a coach or an athlete, that they are required to watch before being able to register for their first class.

Two background images for the channel can be uploaded, and the color buttons and font can be chosen too. Bellow it, can be set (until 6) pre-defined categories to indicate the subject of the channel. Languages can be chosen too right below. After this, boolean buttons will be set if the channel will be hidden from the public if it will accept payments or not, and if it will charge a fee in case there is a pause on membership. And the last option is a box to set a swag link, in case the gym wants to sell something will be shown the link.

4.6.3 Create Competition

Every competition will be linked to a channel, then the first thing on this tab will be to choose what channel this competition is. Then the name, description, start date, start time, end date, end time, and timezone.

In Competition Settings, can be chosen:

Location - online or in-person, or both;

Event type - competitor or team;

Heats - yes or no;

Visibility - public or private;

Release videos - after the event end or immediately;

Require Equipment Verification - yes or no;

How the leaderboard will be organized - High Score Wins or Low Score Wins;

Cost Person - the value for each person in the competition (?)

Donations - yes or no;

Multiple Divisions - yes or no;

Affiliate gym leaderboard - yes or no;

Can be chosen the color of the competition layout (buttons and font accent) and you can upload a background image, like the channel.

Can be chosen judges for the competition - any person can be chosen for this function.

Early Record Access will let the selected users record anything before the event starts.

4.6.4 Partner

This tab will add a partnership with a gym.

The first thing you will see on this page is a red button with a "+" symbol to add a new partner. When this button is pressed, a new modal will open to add the new partner with the following fields:

Select an Image;

Partner Name;

Company Address;

Company name;

Contact email;

Contact phone;

Shipping email;

Active; (This checkbox will define if the whole partner is active or not)

Stream Amount; (% or $ radio button) This value is how much % or $ will be sent to the Stream Fitness platform.

Gym Amount; (% or $ radio button) This value is how much % or $ will be sent to the channel/gym linked.

Details; (A text field to say something specific about the partnership)

Is important to say, that after creating a partnership, 2 buttons will be available on side of each one of them: a "V" and a pencil. By clicking on "V", all the alterations made on the bar under the partner list (Info, Store, Library, Programs, and Reports), will be done ONLY for this channel.

Info: This tab will show all info from the selected partner on the left side, and stripe info on the right.

Store: This tab is where can be added new categories, discount codes, will be added and listed products to sell.

Library: This tab will show all the movements to create a program.

Programs: This tab has resources to be used.

Add Program: Add a fresh new program, like a class.

Channel: This button will show what channels are linked with the program.

Add Workout: It will open a modal (like in the class channel) to create the whole workout for the program.

Pencil: To edit the program.

Clone Week: The same function of the class channel, will clone the week.

Reports: This tab will show all transactions made inside the partner area, and if the linked channel sells any partner item, that value will also be shown on this report.

4.6.5 Edit Profile

This tab is EXACTLY the same screen from the dashboard, but in another place to access.

4.6.6 Admin

This tab has some options inside: Text Service, Benchmarks, Personal Records, and Reports.

Text Service: Send Message box has a dropdown button named "From", which is pulled from Twilio and can't be edited on Stream Fitness. Can be chosen if the message will be sent by SMS, Email, or Push Notification. Underneath these radio buttons, exist a message field, where you can type the message and use some key shorts too. Yet on the Send Message box, an image can be uploaded.

Stream Users: That box shows ALL the users of the system, separated by region: US users (specifically) and World Users.

Message Lists: This box is more "flexible" than others before. It's possible to create lists manually with the users you want and edit them anytime.

Sent Messages: This table will show the status of the messages sent. Column Text shows the message, Date shows the date and hour when the message was sent, status - Sent (green) or Queued (dark grey), the green people icon shows the number of people who received the message, the red people icon shows who did not receive the message, and the red button will export the list of the contacts of the message.

Message Replies: This table shows the whole replied message in the Body column, the Date and time, the Name of the user, the phone, and the Reply and Stop buttons.

Benchmarks: On this tab, an Administrator can create a benchmark for an individual user.

Personal Records: On this tab, an Administrator can create a personal record for an individual user.

Reports: this is a tab to show any report from a gym of the system.

4.6.7 Sign Out

This tab will log you out of the system.

4.7 Settings

This tab can be accessed after clicking on the "Manage" button inside the left modal of the tab Manage account. Here you can edit all information on the channel.

4.8 Plan

On this tab, you can see and add the gym plan, payment methods, and keys. This tab shows too Gym Management, which is the total value of the plan + the keys and renewal date.

4.9 Staff Access

On this tab, the admin can invite and edit other people to be staff members between a Coach, Head Coach, Admin/Coach, and Admin.

4.10 Membership

Here is possible to create and edit the memberships of the channel. The first thing you can do is define the title, and description, if the plan will offer a special price for the first payment, if it will charge a tax amount, and the value of the membership and each tax. Underneath the membership creation, a menu for the upload of contracts will be available.

On the right side, will be available some managing options.

Visible: Yes or No;

Renewable: Yes or No;

Allow cancel: Yes or No;

Limit 1 per user: Yes or No;

Renewal increment: Day, Week, Month, Year;

Renews every Month: Choose the number;

Renew on 1st: Yes or No;

Expires in: No Expiration, Day, Week, Month, Year;

Limit use: Per Renewal Frequency, Per Week, Per Month. (_Each one of these options will open different fields to choose the number of specific frequencies)

Yet on this menu, is possible to add manually and see memberships. Will be available a button to add the memberships and a table showing all the memberships of the channel. On the membership table, will be shown the Title, a copy link button of the membership (for instant sharing), the period, price, the limit of uses (if that was defined), edit, active, viable, and the coupons.

4.11 Schedule

4.12 Members

4.13 Playlist

4.14 Reports

4.15 Communication

4.16 Store

5. System Rules

6. Releases

7. Next Steps

Clone this wiki locally