Skip to content
/ roove Public

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

License

Notifications You must be signed in to change notification settings

muramrr/roove

Repository files navigation

roove GitHub license

ATTENTION

I've tired to follow facebook new policies each 3 months and appeal my app on review to enable facebook login. I don't give a shit how facebook being so stupid so they can't test my app. So, facebook login will not work anymore, I don't want to support this feature in my app. It is easy to migrate to Google login, so you can use it for sure.

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