Skip to content

A newsfeed app built in Kotlin to demonstrate the usage of MVVM with Clean Architecture and Android Architecture Components.

License

Notifications You must be signed in to change notification settings

gabriel-TheCode/Infotify

Repository files navigation

Infotify News

platform API License: MIT

Infotify is a newsfeed app that allows you to read, and share the information you need to stay ahead of the trends in the entire world.

This Android application using MVVM, Clean Architecture, Android Architecture Components.

Made 100% in Kotlin 😁

Get it on Google Play

Challenge description

  • Load news headlines from NewsAPI.
  • Ability to search news by keyword, language, sorted by popularity, date of publication or relevance.
  • Visualize news headlines organized in several categories : Popular, General, Science, Technology, Sports, Entertainment.
  • 7 languages supported (DE, EN, ES, FR, IT, NL, RU).
  • Show news with the following details :
    • News Title.
    • News Description.
    • Publication Date.
    • Source (Publisher).
    • Since the free version of NewsAPI does not allow the possibility of displaying news content of more than 260 characters, we preferred to load the news via the url provided in a webview and not in a Details Activity which would have been a bit empty.
  • Using News API to retrieve news that matches the search
  • Save/Delete Bookmarks in database with Room/LiveData

Screenshots

Light Theme

1. Splashscreen 2. Home 3. Bookmarks 4. Search

Dark Theme

5. Search filter 6. Home 7. Bookmarks 8. Search

Specifications

  • Splashcreen with custom animation
  • Retrieve news, headline topics and sources from News API.
  • Realtime search and sorting speed
  • Clean design
  • Descriptive Git history
  • Intro Slider
  • Light/Dark Theme
  • About Page
  • Monitor connectivity status
  • MVVM/Clean Architecture
  • Unit tests.

Languages, libraries and tools used

Requirements

  • min SDK 21

Installation

  • Just clone the app and import to Android Studio. git clone https://github.com/gabriel-TheCode/Infotify.git

Contribute

Let's develop with collaborations. We would love to have contributions by raising issues and opening PRs. Filing an issue before PR is must. See Contributing Guidelines.

License

MIT License

Copyright (c) [2020] [TEKOMBO Gabriel]
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.