An app that provides daily headlines from popular news source.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
api-lib
core-lib
gradle/wrapper
licenses
mobile
tv
.codeclimate.yml
.codecov.yml
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE
PRIVACY.md
README.md
build.gradle
circle.yml
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

CircleCI Build Status Codacy Badge codebeat badge release license
GitHub issues GitHub closed issues GitHub closed pull requests Average time to resolve an issue Percentage of issues still open

android-daily-headlines

An app that provides daily headlines from popular news source.

Initial planning stage, main goal is to create simple app with news source title 'only' to keep it simple. This app is meant to take a glance through the headlines quickly with possible option to view details of the story (future version).

Google Play Store - App Download Google Play Store - Beta Testing

Building and Contribution Guide

The app uses gradle, follow firebase android setup guide to get google-services.json and replace them in both mobile and tv module.

NOTE: Currently dummy google-services.json files are added to pass CI build. You must replace them with your's to build project properly.

Contribution is welcome via :octocat: pull-request. Checkout open issue to get pointer on what you can help us with 👍

Goal and Status

Current plan is to create simple possible 📺 app with news headline only. This allows users to quickly glance through headlines over a ☕

The 📱 version of the app will follow after 2.0 release of 📺 (TV) app.

Project Planning

I am currently tracking issues and tasks using :octocat:'s kanban board

Gradle Modues

android-daily-headlines-module-overview

For more infromation check project wiki

Screenshot from develop build

device-2016-11-09-231920

mobile-demo


DISCLAIMER

This is my personal project to experiment with following tools & technologies

  • Firebase - Analytics (See #111), Crash Reporting (See #10), Remote Config etc.
  • Travis CI - for build automation (See travis.yml)
  • Code coverage (jacoco [See travis.yml], Codecov.io, codacy, codebeat)
  • OpenAPI Specification & Related Tools (See #11, wiki)
  • RxJava (Using for retrofit and app)
  • Jack & Jill Toolchain - Used for Java 8 support (LIMITATION: I was not able to use Java 8 feature due to library project not being supported by jack. See AOSP issue #211386)
  • Retrofit 2 (See API Services)
  • Dagger 2 (See #29, core-lib:gradle)
  • Picasso - Used for memory efficient image loading
  • Coordinator & Constraint Layout
  • Timber (android logging) (See #30)
  • Android TV Leanback (Most code samples are taken from "leanback-showcase" project)
  • Design Support Library
  • Database (local caching - Realm (maybe?))
  • Scheduler - data syncing
  • MVP Architecture (See #27, some UI still needs refactoring)
  • AutoValue (See #76)
  • Google Play Alpha Beta release (Beta app available on Google Play)
  • LeakCanary (See #60)

Features started using in the mobile app:

  • Kotlin Support (See #175)
  • Room ORM (Planned for content caching)
  • Upgrade to RxJava 2 (Planned)
  • Upgrade to Firebase Crashlytics (Planned)

I'll try to update references for these items when I use in the app 😎