A simple matchmaking web application with a Tornado-based backend and a Vite/React frontend.
backend/- Python Tornado API server and handlersfrontend/- React app (Vite + Tailwind)
- Python 3.9+
- Node.js 18+ (npm)
- MySQL server
-
From repo root, create a virtual environment:
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
-
Install dependencies:
pip install -r requirements.txt
-
Configure MySQL database (as used in
backend/db.py): #configure with your own credentials- host:
[LOCALHOST] - user:
[USER] - password:
[PASSWORD] - database:
[DATABASE]
- host:
-
create database matchmaker; use matchmaker;
Create
userstable if missing (example):
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255) UNIQUE,
password VARCHAR(255),
age INT,
gender VARCHAR(50),
interests TEXT
);- Run API server:
Backend listens on
python backend/app.py
http://localhost:8888.
- Change to frontend:
cd frontend npm install npm run dev - Open the URL printed by Vite (typically
http://localhost:5173).
POST /register- user registrationPOST /login- sign-inPOST /search- matchmaking search
- Update
backend/db.pyconnection values for production settings. - Sensitive secrets should be moved to environment variables and not tracked in git.



