MatchMe is a modern full-stack matchmaking platform designed to help users discover compatible partners through intelligent matching, personalized preferences, and secure communication. The application provides a seamless user experience with authentication, profile management, real-time interactions, and premium features.
The project was built to demonstrate scalable full-stack application development using the MERN stack along with modern web development practices.
- User Registration
- Secure Login
- JWT Authentication
- Password Encryption using bcrypt
- Protected Routes
- Persistent Login Sessions
- Create User Profile
- Update Personal Information
- Upload Profile Picture
- Education Details
- Occupation Details
- About Me Section
- Lifestyle Preferences
- Interests & Hobbies
- Location Information
Users can define their ideal partner by specifying:
- Age Range
- Height Range
- Education
- Profession
- Religion
- Marital Status
- Location
- Lifestyle Preferences
The platform calculates compatibility between users based on:
- Personal Preferences
- Interests
- Lifestyle
- Education
- Profession
- Location
- Profile Completion
Each recommendation includes:
- Match Percentage
- Trust Percentage
- Compatibility Score
Search users using filters like:
- Name
- Age
- Gender
- City
- Religion
- Occupation
- Education
- Premium Users
- Recently Joined
- Private Messaging
- Real-Time Communication
- Socket.IO Integration
- Online Status
- Message History
Premium users receive additional benefits:
- Unlimited Chats
- Unlimited Profile Views
- Advanced Filters
- Priority Match Recommendations
- Premium Badge
- JWT Authentication
- Password Hashing
- Protected APIs
- Secure Database Queries
- Input Validation
- Authentication Middleware
- React.js
- React Router DOM
- Axios
- Tailwind CSS
- Context API
- React Hooks
- Vite
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- bcrypt
- Multer
- Cloudinary
- Socket.IO
- dotenv
- CORS
MatchMe
│
├── frontend
│ ├── public
│ ├── src
│ │ ├── assets
│ │ ├── components
│ │ ├── pages
│ │ ├── context
│ │ ├── hooks
│ │ ├── services
│ │ ├── routes
│ │ ├── utils
│ │ └── App.jsx
│ └── package.json
│
├── backend
│ ├── config
│ ├── controllers
│ ├── middleware
│ ├── models
│ ├── routes
│ ├── services
│ ├── uploads
│ ├── utils
│ ├── app.js
│ └── server.js
│
└── README.md
git clone https://github.com/yourusername/MatchMe.gitcd MatchMecd backendInstall dependencies
npm installCreate a .env file
PORT=5000
MONGO_URI=your_mongodb_connection
JWT_SECRET=your_secret_key
CLOUDINARY_CLOUD_NAME=xxxx
CLOUDINARY_API_KEY=xxxx
CLOUDINARY_API_SECRET=xxxxRun backend
npm run devcd frontendInstall dependencies
npm installRun application
npm run devPOST /api/auth/register
POST /api/auth/login
GET /api/users/profile
PUT /api/users/profile
GET /api/users/:id
GET /api/preferences
PUT /api/preferences
GET /api/matches
GET /api/matches/:id
POST /api/chat
GET /api/chat/:conversationId
- Name
- Password
- Gender
- Date of Birth
- Religion
- Occupation
- Education
- Location
- Profile Picture
- Interests
- About
- Premium Status
- Preferred Age
- Preferred Height
- Religion
- Education
- Occupation
- City
- Lifestyle
- Sender
- Receiver
- Message
- Timestamp
- Read Status
User Registration
│
▼
Complete Profile
│
▼
Add Partner Preferences
│
▼
Discover Matches
│
▼
View Match Score
│
▼
Start Chat
│
▼
Upgrade to Premium (Optional)
- Video Calling
- Voice Messages
- AI Match Recommendations
- Email Notifications
- Push Notifications
- Mobile Application
- Dark Mode
- Google Authentication
- Facebook Authentication
- Aadhaar Verification
- Personality Assessment Quiz
- Location-based Match Suggestions
- Admin Dashboard
- User Reporting System
- Block & Unblock Users
Run frontend
npm run devRun backend
npm run devContributions are welcome.
-
Fork the repository
-
Create a feature branch
git checkout -b feature-name- Commit changes
git commit -m "Added new feature"- Push changes
git push origin feature-name- Create a Pull Request
This project demonstrates practical experience with:
- Full Stack Web Development
- REST API Design
- Authentication & Authorization
- MongoDB Data Modeling
- State Management
- Cloud Image Uploads
- Real-Time Communication using Socket.IO
- Responsive UI Development
- Secure Backend Architecture
- Component-Based Frontend Development
Kartik Garg
- GitHub: https://github.com/Scriptkiddie8
- LinkedIn: https://www.linkedin.com/in/kartik-garg-t26/
This project is licensed under the MIT License.
⭐ If you found this project useful, consider giving it a star on GitHub!