We have a client request to build a fitness tracking application. The idea is that the app will allow users to track their condition using a specific test called The Cooper Test.
The Cooper Test (aka The 12-minute run) was developed by Dr. Ken Cooper in 1968 as an easy way to measure aerobic fitness and provide an estimate of VO2 max for military personnel. The Cooper test, as it's also known, is still used today as a field test for determining aerobic fitness.
Dr. Cooper found that there is a very high correlation between the distance someone can run (or walk) in 12 minutes and their VO2 max value, which measures the efficiency with which someone can use oxygen while exercising. This test is still one of the basic fitness tests used by the military. It is also used by many coaches and trainers to determine cardiovascular fitness and track fitness over time. This simple test also allows you to compare your cardiovascular endurance with others of your age and gender.
The challenge is to build a software solution that will make it possible not to only make the calculation but to record the data over time. Another requirement is that the app should have functionality that presents historical data of tests if a user has saved any historical data.
In this challenge we WILL follow the AUT cycle approach, meaning that we will write tests first and work our way through the error messages and be guided by them when we write our implementation.
This is a pretty advanced challenge that will require you to use both your Ruby and your JavaScript knowledge. We will be using the Ruby on Rails framework (back-end/API) and the React library (client).
-
Learn how to build an API using Ruby on Rails
-
Learn about testing API endpoints with RSpec using so called request specs
-
Learn about CORS
-
Learn how to authenticate users from a React application
-
Learn how to make a post request to an API from a client
Deployed via Heroku and Netlify.
See the deployed site here.
ReactJS - A JavaScript library for building user interfaces.
Rails - Imagine what you could build if you learned Ruby on Rails
RSPEC - Making TDD Productive and Fun.
Cypress - Fast, easy and reliable testing for anything that runs in a browser.
Enzyme - JavaScript Testing utility for React that makes it easier to test your React Components' output.
Semantic UI React - The official Semantic-UI-React integration.
react-chartjs-2 - React wrapper for Chart.js 2 .
Carla Rosén - carrosen
Zane Neikena - zanenkn
This project utilizes the MIT open-source license.
Kudos to PurpleBooth for the README template