Skip to content

Latest commit

 

History

History
55 lines (46 loc) · 8.12 KB

File metadata and controls

55 lines (46 loc) · 8.12 KB

Overview

FluxNews is an Android app using Kotlin and Jetpack Compose and provides real-time news updates. It's made for limited amount of time but it has the following features:

  • Onboarding Experience: Seamless and informative experience for new users
  • Home with Breaking News & Worldwide News: Able to view the latest breaking news from all over the world
  • Explore News by Categories: Easily browse news by categories such as health, technology, business and more
  • Search for Articles: Quickly find articles related to your interests
  • Bookmark Articles: Tap once and save the articles to read later
  • Real-Time Weather: Get weather updates in real time based on your specified timezone
  • Article Details: Read brief content of an article, as well as share and read more by directing to the article link.
  • Personalized Settings: Give yourself a nickname and toggle dark mode.

Preview

Screenshots

Architecture

  • Presentation: Responsible for the UI and input management
  • Domain: Contains the business logic, including the use cases and repository interfaces
  • Data: Responsible for database operations, network requests and caching.

Technologies Used

Kotlin Official language for Android development, known for its concise syntax
Jetpack Compose A modern toolkit for building native Android UIs
Figma A collaborative design tool for creating UI/UX designs
Paging Library Efficiently loads data in chunks (paging)
LiveData An observable data holder for UI updates
ViewModel Retains UI data across configuration changes
Navigation Components Simplifies app navigation
Retrofit A type-safe HTTP client for making API requests
Room A persistence library for local database management
DataStore Async key-value and typed data storage with Kotlin coroutines
Coil An image loading library for Android
NewsAPI A third-party API for fetching news articles
OpenWeatherMap A third-party API for fetching real-time weather data
Dagger A compile-time dependency injection framework for Android
Hilt A dependency injection library that simplifies injecting dependencies in Android apps
OkHttp A networking library for HTTP requests
JUnit A testing framework for writing unit tests
MockK A mocking framework for unit testing Kotlin code
Turbine A testing library for Kotlin Flows

Notes

Test app via Firebase

This project is for educational purposes only. No commercial use or distribution is intended.