An enterprise-level Kotlin MVVM boilerplate to help you start building Android applications in minutes.
This repository is designed to provide developers with a clean and scalable base for starting new Android applications using Kotlin. The project utilizes modern architecture patterns and libraries, enabling rapid development while ensuring maintainability and scalability.
This project follows the MVVM (Model-View-ViewModel) architecture pattern, offering separation of concerns, easier testing, and the use of Jetpack components.
This boilerplate includes an extensive technology stack that allows developers to build robust and scalable Android applications.
- Kotlin 1.3.61 - Modern programming language designed to improve productivity, readability, and safety.
- MVVM - Ensures separation of business logic from UI components, promoting maintainability and testability.
- Room 2.2.2 - A persistence library that provides an abstraction layer over SQLite, making database operations more manageable.
- Dagger 2.15 - A powerful dependency injection framework to help manage and inject dependencies efficiently.
- Coroutines 1.2.1 - Provides asynchronous programming capabilities with a simpler and more efficient API.
- RxKotlin 2.4.0 - Reactive programming support for Kotlin.
- RxAndroid 2.1.1 - Reactive Extensions for Android’s main UI thread.
- Lifecycle 2.1.0 - Android architecture component to handle lifecycle-aware components.
- Retrofit 2.7.0 - A type-safe HTTP client for Android and Java.
- OkHttp 3.12.0 - An efficient HTTP client that supports HTTP/2, connection pooling, and more.
- Socket.IO 0.6.0 - Provides real-time, bidirectional communication between the client and server.
- Picasso 2.71828 - A powerful image downloading and caching library for Android, making image handling simple and efficient.
- Moshi 1.9.0 - A modern JSON library for Android and Java, offering full support for Kotlin.
- Gson 2.8.6 - A widely used library for converting JSON to Java objects and vice versa.
- Timber 4.7.1 - A flexible logging library, improving upon Android's default
Log
class.
- Espresso - A UI testing framework that allows you to simulate user interactions and test your application's behavior.
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Android Studio (latest version)
- Gradle (as per Android Studio configuration)
- Android SDK (API 21 or higher)
-
Clone the repository:
git clone https://github.com/HaneetGH/KotlinAndroidBase.git
-
Open in Android Studio: Open the project in Android Studio, then allow it to sync the Gradle files.
-
Build the project: Build the project to download dependencies and set up the development environment.
-
Run the app: Use an emulator or a physical device to run the app directly from Android Studio.
We welcome contributions from the community! Here's how you can get involved:
- Fork the repository by clicking the "Fork" button at the top of the page.
- Create a new branch for your feature or bug fix:
git checkout -b feature-branch
- Make your changes and commit them:
git commit -m "Description of the feature or fix"
- Push your branch to GitHub:
git push origin feature-branch
- Create a Pull Request to the
main
branch of this repository.
Please ensure that your code follows the project's standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, feel free to open an issue on GitHub.