Skip to content

A showcase and a playground with MVVM, Android Architecture Components, Room Persistence Library, DataBinding, RxJava2, Retrofit2, Glide4 and so on.

Notifications You must be signed in to change notification settings

nuhkoca/NewsApp-MVVM-AAC-Room-DataBinding-RxJava2-Retrofit2-Glide4

Repository files navigation

A modern NewsApp

App Logo

💥 A playground with the latest techs

This project is a playground to clutch MVVM pattern, Architecture Components, Room and others. This project actively uses Room Persistence Library to show feed in case no internet connection. Along with Lifecycle Components, API datum are consistently observed to able to detect whether or not there is any update or change. The app also benefits from PreferenceScreen to display news according to users' preferences. You can choose country, category, source or languages for different lists.

This repo is still under maintenance.

This project is powered by NewsAPI.org. To get your own API key, please visit NewsAPI.org

ToDo List

  • Top Headlines, Everything and Sources are listed.
  • Allowed users to switch between fragments using Bottom Navigation View and ViewPager.
  • Integrated Room Persistence Library to list offline data in the event of no internet connection.
  • Added Preferences Screen to display diverse news according to user's selection.
  • Added Day/Night Mode.
  • Implemented Custom News UI to list news from selected news source which takes place in Sources section.
  • Implemented Search feature for Everything section and thus user can search anything in the app.
  • Performed UI tests and passed successfully..
  • Implement Filter feature for Sources section and thus user can filter results.
  • Implement Firebase and Firestore to send push notifications.
  • Implement endless scroll for more items.

Screenshots

Phone

What the project uses

License

App icon based on:

Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY

MIT License

Copyright (c) 2018 Nuh Koca

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

About

A showcase and a playground with MVVM, Android Architecture Components, Room Persistence Library, DataBinding, RxJava2, Retrofit2, Glide4 and so on.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages