An open API service indexing awesome lists of open source software.

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

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