Giter VIP home page Giter VIP logo

halilozel1903 / covid19stats Goto Github PK

View Code? Open in Web Editor NEW
16.0 2.0 12.0 805 KB

Covid-19 Virus 🦠 App πŸ“± using Dagger Hilt, Coroutines, ViewModel, Lifecycle, LiveData, Retrofit based on MVVM Architecture. πŸ› 

Home Page: https://medium.com/@halilozel1903

Kotlin 100.00%
covid19 covid19-data covid-data covid-api covid-19-api covid-19-data-analysis retrofit-2 covid-19-tracker android-app android-api-example

covid19stats's Introduction

Covid19 🦠 Stats πŸ“‹

Screenshot

Coronavirus disease (COVID-19) is an infectious disease caused by a newly discovered coronavirus. Most people who fall sick with COVID-19 will experience mild to moderate symptoms and recover without special treatment

It is an Android application that contains information about the Covid19 Virus. It contains detailed information about all countries. Daily case numbers, death numbers can be learned. I code the project in Kotlin programming language. Retrofit, Picasso technologies are used.

Which API are you using πŸ€”

I'm using this API in Android Application : https://corona.lmao.ninja This Api is perfect. Build anything from console widgets to mobile applications with our free and easy to use API.

Architecture πŸ›

Model - View - ViewModel (MVVM) is the industry recognized software architecture pattern that overcomes all drawbacks of MVP and MVC design patterns. MVVM suggests separating the data presentation logic(Views or UI) from the core business logic part of the application

Screenshot

Libraries πŸ› 

Screenshot

  • Kotlin -> The Kotlin Programming Language.
  • Retrofit -> A type-safe HTTP client for Android and the JVM.
  • OkHttp -> Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
  • Coroutines -> Library support for Kotlin coroutines
  • Lifecycle -> Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
  • Dagger Hilt -> Hilt provides a standard way to incorporate Dagger dependency injection into an Android application.
  • LiveData -> LiveData is an observable data holder class.
  • ViewModel -> ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way.

Modern Android Development Scorecard πŸ†

Screenshot

Android Application Screens πŸ“±

When the application is opened, a screen listing all countries is shown. This screen shows how many people have died in total in the all countries so far. By swiping up and down on the main page, you can find out the number of people who died from corona virus in all countries.


You can find information about the desired country by clicking the search button at the top of the main page.


Clicking on the countries from the main page or search screen goes to the detail page. There is a variety of information on the detail page. These are as follows: Today cases, Today death, Total test, Total case, Total deaths, Total recovered.

Donation πŸ’Έ πŸ’°

If this project help πŸ’ you to develop, you can give me a cup of coffee. β˜•

"Buy Me A Coffee"

License ℹ️

MIT License

Copyright (c) 2023 Halil OZEL

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

covid19stats's People

Contributors

halilozel1903 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

covid19stats's Issues

Naming convention

I wouldn't call an interface file name as ...Interface. It is already interface and pretty obvious.
So for the api folder. I would recommend you some renaming refactor operations.

  1. As per retrofit namings and their documentation in here
    public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); }
    Rename your ApiInterface.java to CountryService.java

  2. The class APIClient could be RetrofitBuilder to build retrofit instance for a given base_url. Or even no need for it. Retrofit is already providing a one liner builder pattern to get you an instance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.