Covid19 Statistics App is built with Kotlin, Architecture components, Coroutines, Dagger2 and accessing an API built on Firebase Cloud Functions receiving Coronavirus data from Worldometer. covid-19, covid19-data, kotlin, android, architecture-components, dagger2-android, firebase-functions,
Worldwide Statistics | All Countries List | Country Statistics |
---|---|---|
Download and Install the Demo APK from here.
First off, you require the latest Android Studio 3.5.3 (or newer) to be able to build the app.
The architecture of the application is based, apply and strictly complies with each of the following 5 points:
- Android architecture components, part of Android Jetpack for give to project a robust design, testable and maintainable.
- Pattern Model-View-ViewModel (MVVM) facilitating a separation of development of the graphical user interface.
App support different screen sizes and the content has been adapted to fit for mobile devices and tablets. To do that, it has been created a flexible layout using one or more of the following concepts:
- Use constraintLayout
- Avoid hard-coded layout sizes
- Create alternative layouts
- Use the smallest width qualifier
- Use the available width qualifier
- Add orientation qualifiers
In terms of design has been followed recommendations android material design comprehensive guide for visual, motion, and interaction design across platforms and devices. Granting the project in this way a great user experience (UX) and user interface (UI). For more info about UX best practices visit link.
- Ktlint - an anti-bikeshedding Kotlin linter with built-in formatter.
- Detekt - a static code analysis tool for the Kotlin programming language.
- Spotless - a code formatter can do more than just find formatting errors.
- Versions - make easy to determine which dependencies have updates.
- SafeArgs - generates simple object and builder classes for type-safe navigation and access to any associated arguments.
- Jacoco - code coverage library
- and more...
UI designs from Uplabs:
- Covid19stats Android App (by Schatz Designs) - Covid19stats Android App
- Coronavirus Worldometer UI kit – Adobe XD (by waqart) - Coronavirus Worldometer UI kit – Adobe XD
This is project draws inspiration from these awesome projects:
- iosched (by google) - official Android application from google IO 2019.
- plaid (by android) - app which provides design news & inspiration, being an example of implementing material design.
- sunflower (by android) - a gardening app illustrating Android development best practices with Android Jetpack.
- architecture-components-samples (by android) - collection of samples for Android Architecture Components.
- architecture-sample (by android) - collection of samples to discuss and showcase different architectural tools and patterns for Android apps.
- android-clean-architecture-boilerplate (by bufferapp) - an android boilerplate project using clean architecture
- android-kotlin-clean-architecture (by sanogueralorenzo) - android sample Clean Architecture app written in Kotlin.
All contributions are welcome! Please feel free to post questions, recommendations, ideas, bugs by create new issue following the template or if you want create directly new pull request.
Zakayo ThukuFollow me, I'll follow you back.
Copyright 2020 Zakayo Thuku
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.