Titan lets you build, customize and share workout plans. The user can choose exercises from the database, or make their own, and share their completed workout with other users by adding them as a member of the workout. Once a user has a workout, they can click play to walk through the exercises in the workout guided by text-to-speach instructions and a handy timer, right in the app. To keep eachother accountable and motivated, users can check the stats for a workout to see how often other members are completing the workout.
The app was built as a final project for the lighthouse Labs Web Development Diploma Program by Jill Aubrey, Michael Davis and Jeremy Buist (links below). The front-end of the app was built with React and almost entirely custom CSS, and the back-end was built with a ruby on rails API server, communicating with axios. The database uses SQLite. The rails database was seeded with a sample of exercises and gifs from the ExerciseDB REST API.
A version of the app hosted on netlify can be found here.
Install dependencies:
npm install
Install dependencies:
bundle install
create, load and seed database:
bin/rails db:reset
Then start the server:
rails s
or from a virtual machine:
rails s -b 0.0.0.0
npm start
npm run storybook
npm test
rspec
- react
- axios
- sass
- react-spring/web
- classnames
- fontawesome
- mui/material
- lodash
- valid-url
- web-vitals
- Ruby
- Rails
- SQLite3
- Puma
- Bcrypt
- Bootsnap
- Rack-CORS
- rspec-rails