Image Description
Tinder Clone - Backend

Abstract

The "Tinder Clone-Backend" project aims to build a scalable backend system for an application like Tinder or other dating sites. It utilizes technologies like Java/Spring and Python to implement various functionalities and handle the backend operations required for the application. The project focuses on the development of various microservices & their integration to provide a robust and efficient backend infrastructure that can handle a large scale of users and provide a seamless user experience.

MY ALT TEXT

Fig. 1. System Architecture.

Microservices

  • Registration & Login Service : Java/Spring based microservice to register new users through form-based registration & authentication. After registration, a token in the form of a verification link will be sent to them via email, and they must verify their account within 15 minutes. Existing users will be authenticated here using their credentials, which include email or username and password. For more detail visit following repo.
  • Profile Handler Service : Java/Spring-based microservice is designed to handle requests for creating and updating profile and settings-related information into a user_profile table in a PostgreSQL database. For more details, please visit the following repository.
  • Feed Engine : Java/Spring-based microservice is responsible for fetching and pushing similar profile recommendations to users from Elasticsearch location-based shards. It also handles requests related to storing and retrieving images from an AWS S3 bucket, while storing image-related information in the user_image table. For more details, please visit the following repository.
  • Recommendation Engine : A Python-based microservice built on top of an OLAP database to generate recommendations once every 24 hours. It utilizes the following algorithms and methodologies to generate recommendations and pushes them into Elasticsearch shards. For more details, please refer to the following repository:
    1. User-User collobrative filtering for attributes like user interests, education, age, sports, occupation etc.
    2. Text-Text similarity using gpt-3 model for attributes like bio, description etc.
MY ALT TEXT

Fig. 2. ER-Diagram.