-
EPONA is a personal health tracker Android application. The application allows the user to monitor the performance for various activities such as running, step counting, diving, breath taking.
-
A personal health tracker app build with Kotlin and Firebase.
Allows users to login and gain access to the application.
- If the user has forgotten his/her password, he/she can access his/her account by using only one of the following information: email, phone number or username.
Activity tracking for running, hiking, cycling, and swimming.
- EPONA is a customised health tracker application for different activities. It gives freedom to the user by offering flexible preference options.
Map tracking during activities.
- Running activity : EPONA will show the user which paths the user has followed on the map to the current location, how many steps the user has taken in total, average speed, total distance travelled (km), energy consumption and time elapsed while the user is doing the activity.
Log storage for past activities.
- Before you start any activity in EPONA, EPONA asks you whether you want to keep a record of the activity for history. You can access the statistical data of the activities you have saved days, weeks or even months later.
Detailed user profile with activity statistics.
- The profile includes a table of the number of steps taken in the current day by hours and a brief summary of the different activities performed during the day.
- You can follow here to access presentation of project.
0000 | 0001 | 0010 |
---|---|---|
- When you finish any healthy activity and save it to the history, you will skipping to the
AddActivitiesAndShowToUser.kt
to see the statistics of your healthy activity and has an option to save it to the history. - If you click save button, you will be skipping to the
ProfileFragment.kt
. In the background I will add it to theFirestore
with a query. That lists the healthy activities based on their activity type onFirestore
. - When you save the activity to the history and skip to the
ProfileFragment.kt
you will see that the latest healthy activity that you have done will be show up at the top of previous activities. Same thing happens inMainScreenFragment.kt
. How is that possible?- Skipping to the
ProfileFragment.kt
and healthy activity statistic pulling fromFirestore
is happening simultaneously. First I get the statistics of current user. And create an object of HealthyActivity.kt, after than that I add this healthy activity to the my healthy activity list. So that I can updateProfileFragment.kt
and HealthyActivity.kt with using HealthyActivityAdapter.kt. - In HealthyActivityAdapter.kt you can manage the recycler_view_activity.xml for
ProfileFragment.kt
andMainScreenFragment.kt
.
- Skipping to the
WilliamChart
: is an Android Library to rapidly implement attractive and insightful charts in android applications. You can see its details hereFirebase-firestore
: Implemented it so that I can manage Epona's database without any complex query and database implementation.Firebase Authentication
:Material Design Components
:Easy Permission
: is a wrapper library to simplify basic system permissions logic when targeting Android M or higher. You can see its details hereCircular Progress Bar
: allowing to realize a circular ProgressBar in the simplest way possible. You can see the details hereShared Preferences
:Google maps location servies
: To get the current user's current location on the map on live.Navigation Component
:
- The first thing you need to do is open the project in Android Studio on your own computer using the project's Github link.
- Then you need an unique Google Maps API key. You can get it from this website.
- If you don't know how to get Google Maps API key for this project then you can also use the same link.
- If you get your unique Google Maps API key then you should change the value of google_maps_key on values.xml and AndroidManifest.xml file.
- If you are all set then you can run the EPONA on your device.
- But you have to restrict your Google Maps API key from Google Cloud Platform. Here you can learn how to restrict your Map API key for android applications.