This is an app similar to Al Jazeera Live CoronaVirus Updates website. That site has features that has inspired the creation of this app. View the description to see these features.



(a). Kotlin Programming Language

We use Kotlin as our programming languge this time round. We've been doing a couple of Java projects of late but this app suites Kotlin as it(Kotlin) is the next generation programming language for android development.

(b). MVVM

As we do with almost all our projects, we want to to write high quality code using the latest design patterns. We will use Model View ViewModel which is the recommended pattern and is made possible by android architecture components.

(c). Firebase Realtime Database

The news articles will be stored in firebase realtime database. Featured Image URLs will be stored alongside the updates. We will see how to perform all CRUD operations against firebase.

(d). Firebase Cloud Storage

The featured images for our corona updates will be stored in firebase cloud storage. We will see how to perform CRUD operations involving images and text.

(e). Firebase Authentication

Yeah we will be authenticating our admins and editors using Firebase Authentication. This way we have control over who publishes/updates/deletes data. The app can be used by non-authenticated users but they can only read the corona updates. The app is designed to accomodate only a specific group of editors/admins. Therefore we've included the login component but no registration component. Admins/Editors are added at the Firebase console and not from the app itself. This makes it quite secure and avoids spam registrations.

You won't be needing to login every time into the app. You login once only and the next time you come back we auto-sign you in even with no internet. If you sign out you would need to login again.

(f). Works even Offline

The app allows users/editors/admins to work even while completely offline. So an admin/editor can publish a news article while offline? Then how will the rest of the world read the news? Well the the moment the user regains a connection, the app will automatically publish it online as well.Meanwhile offline you can even make changes or even delete the news. If you delete it it won't be published online. However if you select a featured image, we will automatically attempt to publish it online since we need image uploaded to the cloud storage and that is impossible if you are offline. So you can publish text while offline and when you regain connection, update it this time including an image. So in short, eveything works while completely offline apart from uploading of image.

(g). Endless Firebase Pagination

You will learn how to use firebase pagination. You can control the number of items you want fetched per page. In this case we use the endless pagination to stream in the live updates

(h). Search with Highlighting

You will also learn how to search and filter data based on a query. The search results are highlighted. We use a toolbar searchview, thus saving space.

(i). Sectioning By dates

Just like the Al Jazeera Live Corona Updates site, we will be sectioning our updates based on dates. For A section may be something like today,yesterday, tomorrow etc. We use a beautiful library known as karamba to provide intuitive date management.

(j). Latest Updates at the top

We show you how to organize updates using the latest-Top approach, that is the latest news coming at the top of the page. This feature may seem simple but with Firebase realtime database and when using Pagination, it is not obvious to implement because of known limitations of firebase realtime database.

What You Get:
  1. Full Working Source code
  2. Full PDF Documentation.