NewsFlow is a cutting-edge Android application that delivers the latest news from around the world directly to your fingertips. Powered by News API, this app ensures users stay informed with breaking headlines and top stories anytime, anywhere.
- Real-time News Updates: Access the latest news articles as they're published.
- Customizable News Sources: Choose from a variety of reputable news outlets.
- Category Filtering: Browse news by categories such as business, technology, sports, entertainment, and more.
- Search Functionality: Find specific news stories with powerful search capabilities.
- Offline Reading: Save articles for offline access when you're not connected.
- Bookmarking: Save your favorite articles for later reading.
- Sleek User Interface: Enjoy a modern, intuitive design built with Jetpack Compose.
- Efficient Pagination: Smoothly scroll through large sets of news articles.
- Clean Architecture:
- Organized into Data, Domain, and Presentation layers.
- Clear separation of concerns for improved maintainability and testability.
- MVVM (Model-View-ViewModel):
- Separates UI from business logic.
- Enables reactive UI updates based on state changes.
- MVI (Model-View-Intent):
- Ensures predictable and unidirectional data flow.
- Efficiently manages complex UI states.
- Jetpack Compose:
- For building a responsive, declarative, and modern UI.
- Paging 3:
- Efficiently handles large datasets with seamless pagination.
- Improves app performance and user experience.
- Room Database:
- Provides robust local storage with SQLite abstraction.
- Enables effective offline data handling.
- DataStore Preferences:
- Modern solution for storing key-value pairs.
- Asynchronous data management.
- Retrofit:
- Type-safe HTTP client for Android.
- Efficient API communication with News API.
- Dagger Hilt:
- Simplifies dependency management.
- Improves code modularity and testability.
- Android Studio
Arctic Foxor newer. - Minimum Android SDK level:
21.
- Clone this repository.
- Open the project in Android Studio.
- Sync the project to download dependencies.
- Run the app on an emulator or a physical device.
You can download the app directly from: NewsFlow App Download
├── data
│ ├── repository # Data sources implementation
│ ├── remote # API service and response models
│ ├── local # Room database for caching
│ ├── paging # Paging source implementations
├── domain
│ ├── model # Business models
│ ├── repository # Repository interfaces
│ ├── usecase # Application business logic
├── presentation
│ ├── ui # Composables and screens
│ ├── viewmodel # State and logic management
│ ├── state # UI state representations
│ ├── intent # User actions/intents
├── di # Dependency injection modules
└── utils # Helper classes and functions
- News Api: For providing the food recipe API.
- Google: For Jetpack Compose and Android architecture guidelines.
For any inquiries, please reach out to:
- Abdelrahman Talaat
- Email: [email protected]
- GitHub: https://github.com/AbdoTalaat74