GithubHelp home page GithubHelp logo

mubaraknative / news-cast-mb Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 4.58 MB

This News app demonstrate the typical workflow when we working with http client like (Retrofit)

License: Apache License 2.0

Kotlin 100.00%
android-architecture-components coil-image-loader coroutines-flow dagger-hilt navigation-component preference-screen retrofit room-database news-app newsapp

news-cast-mb's Introduction

News Caster MB -News App

This app demonstrate the typical workflow when we working with http client like (Retrofit)

Screenshots

Screenshots

This App will build upon on

  • Android Views (XML).
  • Room database for offline news cache.
  • Paging 3 library for loading large sets of data.
  • Retrofit Http client for making network calls.
  • Dagger Hilt for Dependency Injection.
  • Navigation Component for fragment navigation.
  • Reactive Ui using Kotlin Flows and Coroutines.
  • Implemented Settings using PreferenceSettingCompat library.

Features โœ…

Main features of this news app.

  • Offline Article using Paging 3 Remote mediator.

  • Bookmark the Article for later offline read using Room persistence library.

  • Multiple News categories using Tab layout.

  • Edge to Edge (Drawing the UI behind the System bar).

  • Dark and Light theme support using PreferenceSettingLibrary.

  • Search a specific article.

  • Swipe to delete bookmarked news and more, ...

Note ๐Ÿ‘€

Before you begin

This App uses public api for fetching news article's named NewsApi

This Api need a API_KEY for fetching news create a account on NewsApi and include it on AppConstants.API_KEY

There is a some http request limit's if we cross it doesn't return any news

Improvement ๐Ÿ”ง

This Project tends to showcases the integration of Retrofit and some other libraries and also we don't have any control over the data all feature's will be based on that api

So adding many features / improvement will not worth for the time for projects like this for this reason's new features might not be implemented in this project

Contribution ๐Ÿค

If you like to contribute this project you can do it As i already mention this project aims to showcases the different libraries for single Retrofit project to scale this app further more.

All features and improvement should be committed on respective branches features branch for new features and improvement branch was improvement the existing feature.

news-cast-mb's People

Contributors

mubaraknative avatar

Stargazers

 avatar  avatar

Watchers

 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.