Hacker News

It is just another Hacker News Android app where I practice my skills with newest things.

Libraries Used

  • [Android Architecture Components][1] - A collection of libraries that help you design robust, testable, and maintainable apps.

    • [Data Binding][1.1] - Allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
    • [Lifecycles][1.2] - Create a UI that automatically responds to lifecycle events.
    • [LiveData][1.3] - Build data objects that notify views when the underlying data changes.
    • [Navigation][1.4] - Simplifies the implementation of navigation in an Android app.
    • [ViewModel][1.5] - Designed to store and manage UI-related data in a lifecycle conscious way.
  • [Material Design][2]

    • [BottomNavigationView][2.1] - Represents a standard bottom navigation bar for application.
    • [ConstraintLayout][2.2] - Allows you to create large and complex layouts with a flat view hierarchy (no nested view groups).
    • [Support Library][2.3]
    • [Android Layouts][2.4]
  • Third party libraries

    • [Retrofit2][3.1] - A type-safe HTTP client for Android and Java
    • [Dagger2][3.2] - A fully static, compile-time dependency injection framework for both Java and Android.
    • [RxJava2][3.3] - Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
    • [RxKotlin][3.4] - RxJava bindings for Kotlin

TODO

  • [ ] Login
  • [ ] Comment on a post
  • [ ] Vote
  • [ ] Make comments list expandable
  • [ ] Filter news based on keywords and sources
  • [ ] Add Unit Tests and Intrumented Tests
  • [ ] Add CircleCI continus intergration
  • [ ] Save news to read later
  • [ ] Add notification for newest news (configurable, e.g. per day, twice a day)
  • [ ] Swipe left to delete a new - Swipe right to add to read later
  • [ ] Sharing
  • [ ] Add licensess

GitHub