Git Product home page Git Product logo

newster's Introduction

Engage News App

Features:

  • Downloading the news from the API given
  • Option to save the articles to view offline
  • Swipe from top to refresh news feed

Tech and Architecture:

  • This application takes advantage of MVVM architecture
  • Activity, ViewModel, Repository, LiveData, ObservableFields, DataBinding are the basic building blocks of this architecture
  • All the UI related work like showing Toast, starting a new activity, showing the progress bar, etc is done in the Activity.
  • Business logic is written in the ViewModel. Also the observable fields are present in the ViewModel which are observed from the XML when we use data binding.
  • All API and DB calls happen from within the repository.
  • It's a 1 way reference flow from Activity -> View Model -> Repository. For ViewModel/Repository to communicate back in the chain we use live data which is observed by the concerned entity.
  • We have used Java as the primary programming language
  • Constraint Layout has been used to design the UI

Libraries:

Apart from Gson(), no other 3rd party library has been used. Everything is built on top of the System APIs

App screenshots:

Image description Image description

newster's People

Contributors

rohegde7 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.