A simple ride sharing app made with kotlin and Google Maps using MVVM architecture.
- Clone the repository .
- Go to google cloud platform enable map sdk and place api.
- Generate api key.
- MAKE SURE BILLING IS ENABLE TO USE PLACE API
- add your google map api key in local.properties like
GMP_key=YOUR_KEY
- you are pretty much good to go.
- Support for dark and light theme.
- Location permission handling.
- Google Map integration.
- Search Places integration.
-
Kotlin - First class and official programming language for Android development.
-
Coroutines - For asynchronous and more..
-
Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
-
- Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
-
Material Components for Android - Modular and customizable Material Design UI components for Android.
-
Easy Permissions- To manage user permissions.
-
Google play services-To manage user location.
-
Google Places-To search places.
-
Navigation Component - A simple navigation for android.
-
Preferences DataStore - Storage that allows you to store key-value pairs.
-
Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
-
Sheet - Liberary for creating bottom-sheet.
# Root Package
├── di # Dependency Injection
├── ui # Activity/View layer
├── repositories # Single source of data
└── others # Utility Classes / Kotlin extensions
This app uses MVVM (Model View View-Model) architecture.
- To add mobile number authentication.
- Refactoring ui.
- To add manual location refresh.