Skip to content

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.

Notifications You must be signed in to change notification settings

Turskyi/travelling_pro

Repository files navigation

Stand With Ukraine Build status Build & upload to Firebase App Distribution 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;

• SDK: Android;

• Interface: XML;

• State management approach: ViewModel;

• HTTP client: Retrofit;

• Database: Firestore;

• Dependency injection: Koin;

• Reactive programming: Coroutines;

• Version control system: Git;

• Git Hosting Service: GitHub;

• CI/CD: GitHub Actions is used to deliver new Android Package (APK) to Firebase App Distribution after every push to the dev branch, Visual Studio App Center is used to deliver new release app bundle to Google Play after every push to master branch;

• App testing platforms: Firebase App Distribution;

• App Store: Google Play;

• Operating system: Android;

• Embedded SDK: Facebook Sharing, Facebook Login;

• Object storage service: Cloud Storage for Firebase;

• Authentication: FirebaseUI for Auth;

• Cloud services: Firebase Cloud Messaging;

• Google Play services: Location;

• UI components: Lottie, PhotoView, ViewPager2, data chart, RecyclerView, Loading SVG, Glide, Data Binding;

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

• Architecture Components: Paging, LiveData, 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