Skip to content

imang212/Dating_Site_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dating Site App (Flask)

Description:
A modern web-based dating application built with Flask. The app allows users to create personal profiles, like other users, and form relationships through mutual matches.

Overview

The project serves as a prototype for a full-featured dating platform, focused on:

  • Secure profile management
  • Real-time user interactions
  • Efficient data storage and matching logic using graph and relational databases

It’s designed to demonstrate how multiple data storage technologies (Neo4j, Redis, PostgreSQL) can cooperate in one Flask application.

Tech Stack

Component Technology Description
Backend Flask (Python) Handles routing, user logic, and database communication
Frontend HTML, Vanilla CSS, Bootstrap Provides the responsive and modern UI
Databases Neo4j, Redis, PostgreSQL Neo4j for relationships, Redis for caching, PostgreSQL for persistent data
Containerization Docker The entire application runs in isolated Docker containers for easy deployment

Key Features

  • User registration & profile creation
    Users can sign up, create a personal profile, and upload basic info.
  • Profile editing
    Update personal information, profile photo, and other details anytime.
  • Likes & matches
    Like other users’ profiles via a heart icon.
    • If both users like each other → they form a match in the Relationships tab.
    • All likes and matches are stored and synchronized between databases.
  • Notifications system
    Users receive alerts when they are liked or matched.
  • Fast caching
    Redis improves data access speed for user feeds and likes.
  • Graph-based recommendations
    Neo4j allows exploring user relationships and potential matches efficiently.

Screenshots (Test Version)

Registration

Registration Users can create an account and register on the platform.

Profile Management

Profile Users can modify their profiles — edit information, upload or change their photo, and manage their visibility.

Liking Profiles

Likes Users can like other profiles via a heart icon (only if they have a profile picture). If both users like each other, they will appear in the **Relationships** tab. Notifications are shown under the **Notifications** section.

Deployment

The entire project runs inside Docker containers for easy setup and portability.
To start the app locally:

docker-compose up --build

This will:

  • Install all dependencies
  • Launch the Flask server
  • Start the Neo4j, Redis, and PostgreSQL services

Then open your browser and navigate to:

http://localhost:5000

Future Improvements

  • Implement JWT authentication
  • Add real-time chat between matches
  • Improve AI-based recommendations for compatible profiles
  • Develop a responsive mobile version

Author

Author: Patrik Poklop Framework: Flask (Python) Year: 2025

“A modern dating web app combining Flask, graph databases, and clean UI to connect people in meaningful ways.”

Releases

No releases published

Packages

No packages published