NewsFeed is a modern news application built with Jetpack Compose, following Clean Architecture principles. The app fetches and displays the latest news feeds, providing a seamless user experience with a responsive UI and robust architecture.
- Fetch and display the latest news feed on the home screen.
- Modern, responsive UI built using Jetpack Compose.
- Clean Architecture with distinct layers for data, domain, and presentation.
- Efficient data fetching and state management using Coroutines and Flows.
- Dependency injection with Hilt for modular and testable code.
- Local data persistence using Room database.
The app follows Clean Architecture principles, ensuring clear separation of concerns, testability, and maintainability:
- Presentation Layer: Contains UI components built with Jetpack Compose, and ViewModels that manage UI state using StateFlow.
- Domain Layer: Contains business logic, including use cases that interact with repositories.
- Data Layer: Handles data operations, including fetching from remote APIs and caching in Room database.
- Jetpack Compose: Modern toolkit for building native Android UIs with declarative code.
- Clean Architecture: Ensures modular, testable, and maintainable code.
- Room: Persistence library for local data storage.
- Hilt: Dependency injection framework for Android.
- Coroutines & Flows: For asynchronous programming and reactive data streams.
- Retrofit: HTTP client for network requests.
Follow the instructions below to set up the project on your local machine.
- Android Studio Giraffe (2023.3.1) or later
- Kotlin 1.8.20 or later
- Minimum SDK 21
-
Clone the repository:
git clone https://github.com/your-username/NewsFeedApp.git cd NewsFeedApp