MalcolmMcFly / roove

!!! WIP !!! Dating app based on firebase services and facebook login. MVVM-Kotlin-RxJava-Dagger-Databinding-Retrofit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

roove GitHub license

A simple dating app based on tinder-style cards. WIP 91% done.

Used libraries/patterns:

  • MVVM pattern;
  • Dagger 2;
  • RxJava 2;
  • Glide;
  • Firebase Auth;
  • Firestore to store user, messages data;
  • Firestorage to store photos;
  • Data pagination;
  • Retrofit to access public Kudago Api;
  • Facebook SDK to login.

Logo

Setup

Create your own firebase project (Firebase Guide)

Setup FirebaseAuth, FirebaseFirestore, FirebaseStorage for your project by following guides at link above.

If you want to use this project for own purposes you should create 3 additional files:

Path: app/src/main/res/values:

  • misc.xml (your facebook protocol strings, follow guide at Facebook Developers to enable facebook login)
  • font_certs.xml (generated by google allowing to use downloadable fonts in application, see more at Android Developers)

Path: %project_root_folder%

  • key.properties containing sensative strings related to your firestorage url and encrypt keys (you can use generator to obtain random enc keys)

FIREBASE_STORAGE_URL = "gs:/your url" (your firestorage reference link can be find at console.firebase/.../project/...yourapp.../storage)

KEY_ENCRYPTION_KEY = "32 lenght enc key"

VALUE_ENCRYPTION_KEY = "16 lenght enc key"

VALUE_ENCRYPTION_VECTOR_KEY = "16 lenght dec key"

Explanations

So many developers, so many minds.

Also, keep in mind, that business module should not contain android-based plugins. It is a pure kotlin module.

Data module is an android library.

ViewModel shoudn't contain any android imports, except androidx.lifecycle.

License

GitHub license

Copyright (c) 2020 Andrii Kovalchuk

About

!!! WIP !!! Dating app based on firebase services and facebook login. MVVM-Kotlin-RxJava-Dagger-Databinding-Retrofit

License:Mozilla Public License 2.0


Languages

Language:Kotlin 98.5%Language:JavaScript 1.5%