This project saves your steps, calories burned and mileage calculation of steps taken on the local server, allowing you to monitor weekly without transmitting your data to the outside and lead a healthy life.
You can examine this project thanks to its open source structure and learn where and how the data is kept.
- Jetpack
- Flow : Flow is conceptually a stream of data that can be computed asynchronously.
- View Binding: View binding is a feature that allows us to more easily write code that interacts with views.
- MVVM with Clean architecture
- Hilt for dependency injection
- Navigation Components
- Firebase Crashlytics
- Firebase Analytics
- DataStore
- Room
This project is written with MVVM architecture.
While the step data in this project is stored in the room, temporary and short data are stored in the data store preferences.
This picture will help you understand :
- ROOM : This component helps us to perform operations on SQLITE server in an organized and fast manner.
- DATASTORE : This component stores small data snippets as key-data.
- REPOSITORY : This layer is an interface for reading and writing application data.
- USECASE : This part creates a central layer to facilitate data management and ensure the independence of application layers.
- SERVICE : This service component runs long running processes in the background.
- VIEWMODEL : This component is used to hold and manage UI data and state.
- FRAGMENT : This component is part of the basic user interface.
Note : The service file is not included in the github repository to prevent the project from being used for commercial purposes.