This project is the outcome of a school course where we learn to develop android applications. At the end of the course we are given 4-weeks time to develop an Android app that will reflect our learning from the course.
This app keep track of your cycling workouts and provide useful information on previous workouts such as statistics about heart rate at certain location, etc. During the workout user has realtime information about workout like speed, distance, duration and heart rate.
- Kotlin
- Android JetPack Navigation
- Android JetPack Compose
- Android Service
- Android Broadcast Receiver
- Android Fuse Location Provider API
- Room
- Real time location tracking
- Support for Bluetooth LE heart rate sensors
- Workout history
- Workout details and stats
- Calculates burned calories
- Real-time in-workout stats, like speed, heart rate and distance
- Dark mode support
- Speed heat map on the map
- Notifications actions
- Auto pause
- Notify user if forgot to stop workout
- This application has been written in Android Studio using Kotlin.
- Clean codebase for easy modification and usage.
There are a couple of things you need to install to set up the development environment.
After installing Android Studio successfully in your system, you can proceed.
-
Clone the repo:
git clone https://github.com/serushakov/bike-workouts.git
-
Open the project in Android studio. It will take a little while to build the project for the first time.
-
Follow this documentation to generate and add your API key for the maps.
-
Head over to this link for further instructions on how to run project.
NOTE: Google Play is needed in order to run this app so install it on your device (either on real or emulator)
GNU General Public License v3.0
- Calorie calculation is a bit off
- Graphs don’t handle short workouts well
- Does not reconnect automatically if heart rate sensor disconnects for more than 10 seconds