This repository is a starter template for creating Android projects, preconfigured with modern libraries and best practices to streamline development. The goal is to reduce setup time for new projects and provide a robust starting point that aligns with contemporary Android development standards.
- Kotlin First: All code is written in Kotlin to leverage its modern, concise syntax and compatibility with Android libraries.
- Jetpack Libraries: Includes essential Jetpack components to support modern Android development.
- Dependency Injection: Uses Hilt for streamlined dependency management.
- Network Ready: Retrofit and OkHttp for efficient networking and API requests.
- Coroutines for Async Programming: Integrated with coroutines to handle asynchronous tasks seamlessly.
- Material Design: Preconfigured Material Components to achieve a polished, consistent UI.
- Image Loading: Coil for easy image loading and caching.
- Test Suite: Set up with essential libraries for unit and UI testing.
- Best Practices: Architected for scalability and readability, with a focus on MVVM.
- Kotlin Standard Library: Leverages idiomatic Kotlin for cleaner, safer code.
- Coroutines: Manages background threads and async operations.
- Jetpack Compose: For building UI in a declarative way.
- Navigation Component: Simplifies navigation between screens.
- Lifecycle Components: Manages UI lifecycle states.
- Paging: For efficient pagination of data.
- Retrofit: HTTP client for API calls.
- OkHttp: Lower-level HTTP client for advanced networking capabilities.
- Moshi: JSON parser optimized for Kotlin.
- Room: Database management with SQLite abstraction.
- DataStore: Lightweight, key-value storage solution.
- Hilt: Simplifies dependency injection.
- Material Components: UI components adhering to Material Design.
- Coil: Fast, modern image loading library.
- JUnit: Standard unit testing framework.
- Mockk: Mocking library for Kotlin.
- Espresso: UI testing for Android.
- Truth: Provides readable assertions for tests.
- Timber: Flexible logging.
- LeakCanary: Memory leak detection.
- WorkManager: Manages background tasks with lifecycle awareness.
- Android Studio Arctic Fox or later
- Gradle 8.0+
- Minimum SDK: 21
- Target SDK: Latest stable release
Clone the repository:
git clone https://github.com/ivanalvarado/android-bootstrap-project.git
- Open in Android Studio: Open the project in Android Studio and sync Gradle files.
- Run the App: Build and run the app on an emulator or a physical device.
This project follows the MVVM architecture pattern:
- Model: Data classes, repositories, and data sources (local and remote).
- ViewModel: Business logic and data transformation.
- View: UI components and views, built with Jetpack Compose.
Contributions are welcome! Please submit a pull request with a clear description of your changes, and ensure all tests pass before submitting.
This project is licensed under the MIT License. See the LICENSE file for details.