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.
- 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.
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 |
This project is for educational purposes only. No commercial use or distribution is intended.