/LMS-News-Application

An android app that consumes New York Times API

Primary LanguageKotlin

CircleCI

News Application

This is an Android application that consumes New York Times Top Stories API and displays the following news headlines and abstracts:

  1. Top News
  2. Sports News
  3. Food News

Features

  1. Currently, users can view News headlines and abstract provided by the New York Times Top Stories API
  2. Users can also navigate to different news types by clicking on the bottom Navigation links.
  3. Users can also view news details offline.

Limitations

The API doesn't provide the news details, so users currently only view Headlines and Abstracts, and NOT news articles.

Tools Used

  1. Kotlin
  2. RxJava/Kotlin
  3. Retrofit
  4. SQLite Database
  5. Picasso
  6. Content Providers
  7. Data binding
  8. Junit, Espresso and Mockito

Test

  1. To run Instrumented/UI tests, ./gradlew connectedAndroidTest
  2. To run Unit Tests, ./gradlew test

Download

The link to the already built version of the app can be found here

How to install and run

  1. Clone this repo by running git@github.com:Noblemajesty/LMS-News-Application.git
  2. Get an API key from here
  3. In the cloned repo, navigate to the app/src/main/java/com/noblemajesty/newsapplication/utils folder.
  4. In the utils folder, create a new class/file Secret.kt
  5. Ensure the newly created Secret.kt file is empty.
  6. Copy the following code into the file
    package com.noblemajesty.newsapplication.utils
    
    class Secret {
        companion object { const val apiKey = "Your API Key from New York Times" }
    }
    
  7. Build the app.

Contributions are welcome!