/roove

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

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

roove GitHub license

Dating app (tinder-clone).

Logo

Used libraries/patterns:

  • MVVM pattern;
  • Dagger 2 (Hilt);
  • RxJava 3;
  • Glide;
  • Firebase Auth;
  • Firestore to store user, messages data;
  • Firestorage to store photos;
  • Firebase Cloud Messaging (to notify about matches and messages);
  • Facebook SDK to login;
  • Location Service (to obtain user physical location).

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 string related to your Firestorage url.

(your firestorage reference link can be find at console.firebase/.../project/...yourapp.../storage)

File should looks like below:

FIREBASE_STORAGE_URL = "gs:/your url"

Explanations

This is a base dating app.

Main features:

  • login via Facebook and fill additional info;
  • retrieve user location and display people nearby as swipeable cards;
  • swipe -> match -> chat;
  • edit your info, add/delete your photos;
  • notifications about new matches or messages;
  • simple chat with ability to send photos.

There are no any additional features such as gifts, paid subscription, in-app billing etc.

License

GitHub license

Copyright (c) 2021 Andrii Kovalchuk