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.
Activity tracking for running, hiking, cycling, and swimming.
Map tracking during activities.
Log storage for past activities.
Detailed user profile with activity statistics.
0000 | 0001 | 0010 |
---|---|---|
AddActivitiesAndShowToUser.kt
to see the statistics of your healthy activity and has an option to save it to the history.ProfileFragment.kt
. In the background I will add it to the Firestore
with a query. That lists the healthy activities based on their activity type on Firestore
.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 in MainScreenFragment.kt
. How is that possible?
ProfileFragment.kt
and healthy activity statistic pulling from Firestore
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 update ProfileFragment.kt
and HealthyActivity.kt with using HealthyActivityAdapter.kt.ProfileFragment.kt
and MainScreenFragment.kt
.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
: