Cupid is a feature-rich, love-themed dating app designed to connect people in meaningful ways. With Cupid, users can explore meaningful connections through modern matchmaking features, real-time communication, and secure interactions. Built using the MERN stack (MongoDB, Express, React, Node.js), the app prioritizes scalability and security, offering plans to integrate advanced functionalities like passwordless authentication and AI-driven matchmaking.
Cupid aims to elevate the online dating experience by providing:
- A user-centric platform for finding meaningful matches.
- Innovative features to foster real connections and simplify interactions.
- A secure environment to ensure privacy and trust.
-
User Authentication:
- Seamless login with Facebook and Google.
- Passwordless OTP-based login for enhanced security, powered by
speakeasy
andnodemailer
.
-
Profile Management:
- Personalized profiles with photo uploads and interests.
- Easy-to-use interface to update preferences and details.
-
Matchmaking:
- Smart algorithms suggest compatible matches based on user preferences.
- Fun swipe-based interactions to express interest.
-
Real-Time Chat:
- Secure, fast, and responsive messaging powered by Socket.IO.
- Features include online/offline indicators and typing notifications.
-
API Integrations:
- Leverage third-party APIs for location-based matchmaking and other advanced features.
To set up the Cupid app locally, ensure you have the following installed:
- Node.js (v16 or higher)
- MongoDB (local or cloud instance)
- Git
-
Clone the Repository:
git clone https://github.com/Yaman/Cupid.git cd Cupid
-
Install Server Dependencies:
cd server npm install
-
Install Client Dependencies:
cd ../client npm install
-
Configure Environment Variables:
- Create a
.env
file in theserver
directory and add:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret NODEMAILER_USER=your_email NODEMAILER_PASS=your_email_password SPEAKEASY_SECRET=your_speakeasy_secret GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret FACEBOOK_APP_ID=your_facebook_app_id FACEBOOK_APP_SECRET=your_facebook_app_secret
- Create a
-
Run the Server:
cd ../server npm run dev
-
Run the Client:
cd ../client npm start
-
Access the App: Navigate to
http://localhost:3000
in your browser or visit the live site at cupidjsm.vercel.app.
-
OTP-Based Authentication:
- Secure passwordless login using OTPs for enhanced user trust.
-
Real-Time Messaging:
- Reliable and fast communication with integrated Socket.IO.
-
Intuitive Interface:
- Simple, user-friendly design for effortless navigation.
-
Scalable Tech Stack:
- Built with the MERN stack, ensuring adaptability and performance.
While Cupid already offers a robust feature set, we are excited to introduce:
-
E-Commerce Integration:
- Allow users to purchase gifts for matches directly within the app.
-
Reservation System:
- Schedule virtual dates with calendar integration.
-
AI-Powered Matchmaking:
- Enhance compatibility suggestions using advanced algorithms.
-
Mobile App Development:
- Expand to Android and iOS using React Native.
-
Privacy-First Features:
- Include disappearing messages and end-to-end encryption.
We welcome contributions to make Cupid even better! Here's how you can get involved:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m 'Add new feature'
). - Push your branch (
git push origin feature-name
). - Submit a Pull Request for review.
This project is licensed under the MIT License.
We'd love to hear your thoughts or help resolve any issues:
- Email: [email protected]
- GitHub: Yaman
Feel free to explore, use, and contribute to Cupid!