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

https://github.com/turskyi/travelling_pro

Android mobile application. A convenient way to collect all countries that you have visited. A showcase for using firestore, viewmodel, clean-architecture, koin and coroutines.
https://github.com/turskyi/travelling_pro

android clean-architecture coroutines data-chart databinding firebase-distribution firestore github-actions glide koin kotlin loading-svg lottie-animation mvvm photo-view recyclerview retrofit viewmodel viewpager2 xml

Last synced: 5 months ago
JSON representation

Android mobile application. A convenient way to collect all countries that you have visited. A showcase for using firestore, viewmodel, clean-architecture, koin and coroutines.

Awesome Lists containing this project

README

          

[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua)
[![Build status](https://build.appcenter.ms/v0.1/apps/add3e42d-20e7-466d-9300-e42abf3e6b76/branches/master/badge)](https://appcenter.ms)
[![Build & upload to Firebase App Distribution](https://github.com/Turskyi/travelling_pro/actions/workflows/android_ci.yml/badge.svg?event=push)](https://github.com/Turskyi/travelling_pro/actions/workflows/android_ci.yml)
GitHub commit activity

# Travelling Pro

An Android mobile application to help collect all countries that you have visited and see how many
countries visited other members of the app.

## PROJECT SPECIFICATION

• Programming language: [Kotlin](https://kotlinlang.org/);

• SDK: [Android](https://developer.android.com/studio/intro);

• Interface: [XML](https://developer.android.com/guide/topics/ui/declaring-layout);

• State management approach:
[ViewModel](https://developer.android.com/reference/androidx/lifecycle/ViewModel);

• HTTP client: [Retrofit](https://square.github.io/retrofit/);

• Database: [Firestore](https://firebase.google.com/docs/firestore);

• Dependency injection: [Koin](https://insert-koin.io/docs/reference/introduction);

• Reactive programming: [Coroutines](https://developer.android.com/kotlin/coroutines);

• Version control system: [Git](https://git-scm.com);

• Git Hosting Service: [GitHub](https://github.com);

• CI/CD: [GitHub Actions](https://docs.github.com/en/actions) is used to deliver new Android
Package (APK) to [Firebase App Distribution](https://firebase.google.com/docs/app-distribution)
after every push to the **dev** branch,
[Visual Studio App Center](https://docs.microsoft.com/en-us/appcenter/) is used to
[deliver](https://appcenter.ms/users/Turskyi/apps/Travelling-Pro/build/branches/master) new
release app bundle to **Google Play** after every push to **master** branch;

• App testing platforms:
[Firebase App Distribution](https://appdistribution.firebase.dev/i/95a4a3bcea0281c7);

• App Store:
[Google Play](https://play.google.com/store/apps/details?id=io.github.turskyi.travellingpro);

• Operating system: [Android](https://www.android.com/);

• Embedded SDK: [Facebook Sharing](https://developers.facebook.com/docs/sharing/android),
[Facebook Login](https://developers.facebook.com/docs/facebook-login/overview);

• Object storage service: [Cloud Storage for Firebase](https://firebase.google.com/docs/storage);

• Authentication: [FirebaseUI for Auth](https://firebase.google.com/docs/auth/android/firebaseui);

• Cloud services: [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging);

• Google Play services: [Location](https://developer.android.com/training/location);

• UI components: [Lottie](https://lottiefiles.com/what-is-lottie),
[PhotoView](https://github.com/Baseflow/PhotoView),
[ViewPager2](https://developer.android.com/jetpack/androidx/releases/viewpager2),
[data chart](https://weeklycoding.com/mpandroidchart/),
[RecyclerView](http://www.recyclerview.org/),
[Loading SVG](https://github.com/corouteam/GlideToVectorYou),
[Glide](https://bumptech.github.io/glide/),
[Data Binding](https://developer.android.com/topic/libraries/data-binding);

• Api: https://restcountries.com/#api-endpoints-v2-all;

• Architecture Components:
[Paging](https://developer.android.com/topic/libraries/architecture/paging),
[LiveData](https://developer.android.com/topic/libraries/architecture/livedata),
[ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel);

• Architectural pattern:




• Screenshots:

screenshot
screenshot
screenshot
screenshot
screenshot
screenshot
screenshot
screenshot
screenshot
screenshot

• **Code Readability:** code is easily readable with no unnecessary blank lines, no unused variables
or methods, and no commented-out code, all variables, methods, and resource IDs are descriptively
named such that another developer reading the code can easily understand their function.

## Download


google play badge