This is a sample Reddit client app developed to demonstrate the use of modern Android development tools and libraries while adhering to good architecture and coding practices. The project is updated to include the latest and greatest tools as of 2023.
- Gradle KTS and Catalogs: Utilizing Gradle Kotlin DSL (KTS) and catalogs for a more maintainable and organized build configuration.
- MVVM: Architecture pattern using MVVM (Model-View-ViewModel) for a clear separation of concerns and maintainable codebase.
- Repository Pattern: Implementing the repository pattern for managing network and local data sources in a clean and scalable way.
- Hilt: Dependency injection using Hilt instead of Dagger for a more straightforward setup and improved development experience.
- Flow: Utilizing Kotlin's Flow to handle asynchronous data streams in a reactive manner.
- Jetpack Compose: Embracing Jetpack Compose for building a modern, declarative user interface.
- Paging Lib (Custom Load): Implementing custom loading with the Paging library for efficient pagination and smooth user experience.
- Compose Navigation: Using Compose Navigation component for navigating within the app.
- Material3 and Dark Mode: Incorporating Material3 design guidelines for a modern user interface. Additionally, supporting Dark Mode and MaterialYou for enhanced user experience.
- Unit Testing/Compose Testing: Writing comprehensive unit tests and Compose UI tests to ensure code correctness and quality.
- Jetpack DataStore: Using Jetpack DataStore for preferences storage.
This project is licensed under the MIT License.
Special thanks to all the developers whose libraries, tools, and resources have made this project possible.
Enjoy exploring the app and learning from its architecture and implementation. If you have any questions or need further assistance, don't hesitate to reach out. Happy coding!