https://github.com/zahraheydari/locationservice
A tiny foursquare which implemented using Foursquare APIs ,Koin, Coroutines, Moshi, Room, Retrofit, ViewBinding and Google play services location
https://github.com/zahraheydari/locationservice
broadcastreceiver clean-architecture clean-code coil-image-loader coroutines foursquare-api google-location-api koin leakcanary livedata locationservice moshi moshi-converter mvvm-android offline-first permission-android repository-pattern retrofit2 room-persistence-library viewbinding
Last synced: 11 months ago
JSON representation
A tiny foursquare which implemented using Foursquare APIs ,Koin, Coroutines, Moshi, Room, Retrofit, ViewBinding and Google play services location
- Host: GitHub
- URL: https://github.com/zahraheydari/locationservice
- Owner: ZahraHeydari
- Archived: true
- Created: 2020-12-04T09:56:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-02T10:08:45.000Z (about 4 years ago)
- Last Synced: 2025-03-11T04:34:28.239Z (over 1 year ago)
- Topics: broadcastreceiver, clean-architecture, clean-code, coil-image-loader, coroutines, foursquare-api, google-location-api, koin, leakcanary, livedata, locationservice, moshi, moshi-converter, mvvm-android, offline-first, permission-android, repository-pattern, retrofit2, room-persistence-library, viewbinding
- Language: Kotlin
- Homepage:
- Size: 10.1 MB
- Stars: 20
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TinySquare
A tiny mobile app which displays nearby places around user using Foursquare API.

## The scenario
This app:
- Displays the nearby places to the user based on the user current location in a list.
- Presents a detail page for each place.
- Displays cached data if user moves by 100m from the last retrieved location.
- Presents Offline data when the internet is unavailable or user is still at the same location or nearby places are the same.
- Updates the nearby places when user is replaced.
- Displays an endless list of nearby places.
- Checks the internet connection using NetworkStateBroadcastReceiver.
## The way of implementation
This Android application implemented using Clean Architecture containing 3 main layers:
1. Presentation (used MVVM pattern for this layer)
2. Data
3. Domain
## The main dependencies:
- Koin
- Coroutines
- Moshi
- Room
- LiveData
- Coil (Image Loader)
- ViewBinding
- Google Play services location
- Leak canary (memory leak identifier)
## Author
Zahra Heydari