iambaljeet / Covid19Tracker

Covid19Tracker is an Android applciation πŸ“± used to track Covid 19 🦠 cases. It is 100% Kotlin and uses Android architecture components and latest Jetpack libraries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Covid19Tracker 🦠

GitHub license Github Followers GitHub stars GitHub forks GitHub watchers Tweet Twitter Follow

Covid19Tracker is an Android application πŸ“± used to track Covid-19 data.

You can Install and test latest app from below πŸ‘‡

About

. This application first connect to API to get Data. than save it to Local DB to populate it to the UI. Also it synchronize the Data with Remote server.

  • Offline compatible.
  • Clean and Simple Material UI.
  • It supports dark theme too πŸŒ—.

API used in this demo API.

Built With πŸ› 

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Room - SQLite object mapping library.
  • Koin - Dependency Injection Framework
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Gson - A JSON library for Kotlin and Java.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

Contributed By: Baljeet Singh

Package Structure

com.app.covid19tracker    # Root Package
.
β”œβ”€β”€ adapter             # List adapters
|
β”œβ”€β”€ app                 # Application class
|
β”œβ”€β”€ db                  # Local database classes
|
β”œβ”€β”€ model               # Model classes
|
β”œβ”€β”€ networking          # Networking helper classes
|
β”œβ”€β”€repository           # Repository class for managing local and remote data
|
β”œβ”€β”€ di                  # Dependency Injection 
β”‚   └── module          # Koin DI Modules
|
β”œβ”€β”€ ui                  # Activity/View layer
β”‚   β”œβ”€β”€ daily           # Daily Data Fragment and ViewModel
β”‚   β”œβ”€β”€ main            # Main Screen Activity
β”‚   └── home            # Home Fragment and ViewModel
β”‚   └── splash          # Splash Screen Activity
|
└── utility             # Utility Classes / Kotlin extensions

Architecture

This app uses MVVM (Model View View-Model) architecture.

Contact

If you need any help, you can connect with me.

Visit:- baljeet.dev

License

GNU License Visit:- LICENSE

About

Covid19Tracker is an Android applciation πŸ“± used to track Covid 19 🦠 cases. It is 100% Kotlin and uses Android architecture components and latest Jetpack libraries

License:GNU General Public License v3.0


Languages

Language:Kotlin 100.0%