Skip to content

RiMatch is a dating application which helps users find connections by creating profiles, matching them with others based on preferences, and enabling communication through chat.

Notifications You must be signed in to change notification settings

RitehWebTeam/infobip-rimatch

Repository files navigation


Logo

RiMatch

RiMatch is a dating application which helps users find connections by creating profiles, matching them with others based on preferences, and enabling communication through chat.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap

About The Project

Product Name Screen Shot

Looking to expand your social circle? RiMatch takes the legwork out of meeting new people. Create a detailed profile highlighting your interests, and our smart algorithm will connect you with compatible matches based on your preferences, including location if you choose. Chat with your matches through text, images, or even voice messages, and see if a spark ignites! The experience is seamless on both web and mobile (iOS and Android) with a user-friendly interface and features like swipe gestures for easy interaction.

Features:

  • User Profile Creation:
    • During registration, users enter their name, gender, date of birth, email address, and password.
    • After successful first login, users specify their preferences including desired partner gender, age range, a description of themselves, and a profile picture.
  • Messaging:
    • After a successful match the users can receive SMS or email notifications
  • Matching Users:
    • An algorithm recommends potential partners based on user preferences.
    • When shown a potential partner, users can view their full profile by clicking a "details" button.
    • Users indicate interest in a partner by clicking "like" or skip them by clicking "skip."
  • Profile Editing:
    • Users can edit their profile information at any time.
    • This includes changing their preferences and updating their profile pictures.
  • Authentication:
    • The application uses JWT tokens for authentication.

Built With

Frontend:

React TypeScript TailwindCSS

Backend:

Spring boot Maven MongoDB

Other:

Docker

(back to top)

Getting Started

The simplest way to start the app is using Docker so make sure you have it installed and running.

Prerequisites

  • Docker installed and running

  • secrets.properties file added to the root of the backend folder
    Example secrets.properties:

    spring.data.mongodb.uri=db_url_goes_here
    
    jwt.secret.access=32_char_secret_here
    jwt.secret.refresh=32_char_secret_here
    
    infobip.api-key=infobip_api_key_here
    infobip.base-url=infobip_base_url
    infobip.sender-email=email@test.com
    infobip.phone-number=123456789
    

Installation

  1. Clone the repo
    git clone https://github.com/RitehWebTeam/infobip-rimatch.git
  2. Build and run the docker
    docker compose up --build

Possible problems

  • When installing or removing dependencies in the frontend the docker should be built with -V flag
    docker compose up -V

(back to top)

Roadmap

PERT and WBS charts

PERT

PERT

WBS

WBS

  • Blocking users
  • Reporting users
  • Saving images to S3
  • Image gallery
  • Design improvements
  • Improved recommendation algorithm
    • Geolocation
    • Remembering users' choices
  • React Native mobile app

See the open issues for a full list of proposed features (and known issues).

(back to top)

About

RiMatch is a dating application which helps users find connections by creating profiles, matching them with others based on preferences, and enabling communication through chat.

Resources

Stars

Watchers

Forks