Nearest Coffee Venue Details Demo
ForeSquare NearbyVenue Listing Api
-
If you want to use your client secret and client Id
Go to -->API.kt
file// Foursquare API client Id
const val CLIENT_ID = "YOUR CLIENT ID"
// Foursquare API client secret
const val CLIENT_SECRET = "YOUR CLIENT SECRET"
- SplashActivity - Ask user permission to get current location.
- MainActivity - Listing Nearby Coffee Venue and display on Map.
-
Minimum SDK level 24 to 30 (Latest)
-
Kotlin based,
-
Coroutines for asynchronous.
-
Dagger dependency injection.
-
JetPack
- LiveData - notify domain layer data to views.
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
-
Architecture
- MVVM Architecture (Model View ViewModel - DataBinding)
- Repository Design Pattern
-
Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.
-
HttpInterceptor - An OkHttp interceptor which logs HTTP request and response data.
-
Gson - A modern JSON library for Kotlin and Java.
-
Picasso - loading images.
-
Timber - logging.
-
Material-Components - Material design components like ripple animation, cardView.
-
Custom Views
-
CircularProgressView - A polished and flexible CircleProgressView, fully customizable with animations.
MainActivity : Dark Mode
MainActivity : Light Mode