A full-stack dating application specifically designed for developers, featuring AI-powered matching, real-time chat, and modern UI with advanced animations. Completely free - no premium subscriptions, no payment walls, just pure developer love! π
- π₯ Tinder-style Swiping: Intuitive swipe interface (right for like, left for pass)
- π€ AI-Powered Matching: Advanced compatibility scoring based on 50+ factors
- π¬ Real-time Chat: Instant messaging with WebSocket integration
- π Dual Authentication: Email/password and Google Sign-in via Firebase
- βοΈ Email Verification: Secure OTP verification system
- π Password Recovery: Forgot password functionality
- π― Smart Preferences: Advanced filtering and matching criteria
- π± Fully Responsive: Seamless experience on mobile, tablet, and desktop
- π» Tech Stack Matching: Match based on programming languages and frameworks
- π GitHub/LinkedIn Integration: Showcase your professional profiles
- π Education & Experience: Match by career level and educational background
- π Location-based Matching: Find developers in your area
- β Super Likes: Stand out with special notifications
- βΆ Undo Swipes: Take back accidental swipes
- π Profile Boost: Increase your visibility
- π€ MergeBot Assistant: AI chatbot for dating tips and app guidance
- π― Matchmaking Insights: AI-generated compatibility analysis
- π Profile Optimization: AI-powered profile improvement suggestions
- π‘ Smart Conversation Starters: AI-generated icebreakers
- React 18 with Vite for fast development
- Redux Toolkit for state management
- React Router for navigation
- Tailwind CSS & DaisyUI for modern styling
- GSAP for smooth animations
- Three.js for 3D background effects
- Firebase Auth for authentication
- Socket.io Client for real-time communication
- Node.js with Express.js
- MongoDB with Mongoose ODM
- Socket.io for real-time features
- Firebase Admin SDK for authentication
- JWT for session management
- bcrypt for password hashing
- Nodemailer for email services
- Node-cron for scheduled tasks
- Novita AI with Llama-3.1-70B model (optional)
- Fallback responses when API is not configured
- Smart caching and error handling
- Node.js (v16+ recommended)
- MongoDB (local or Atlas)
- Firebase project
- Gmail account (for email services)
-
Navigate to backend directory:
cd server -
Install dependencies:
npm install
-
Environment Configuration:
cp env.sample .env
Fill in your actual values in
.envfile (see Environment Variables section below) -
Start the backend:
npm run dev
Server will run on
http://localhost:7777
-
Navigate to frontend directory:
cd client -
Install dependencies:
npm install
-
Environment Configuration:
cp env.sample .env
Fill in your Firebase configuration in
.envfile -
Start the frontend:
npm run dev
Application will run on
http://localhost:5173
- Build the application:
npm run build - Deploy the
distfolder - Set environment variables in your hosting platform
- Update CORS origins in backend
- Ensure all environment variables are set
- Set
NODE_ENV=production - Update
FRONTEND_URLto your deployed frontend URL - Configure MongoDB Atlas for database
- Enable 2-Factor Authentication on your Gmail account
- Generate an App Password:
- Go to Google Account Settings β Security
- Select "App passwords" under 2-Step Verification
- Generate password for "Mail"
- Use this 16-character password as
EMAIL_PASSWORD
# API Configuration
VITE_API_BASE_URL=http://localhost:7777
# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_FIREBASE_MEASUREMENT_ID=your_measurement_id
# AI Services (Optional - chatbot works with fallbacks)
VITE_NOVITA_AI_API_KEY=your_novita_api_key
VITE_NOVITA_AI_BASE_URL=https://api.novita.ai/v3/openai
VITE_NOVITA_AI_MODEL=meta-llama/llama-3.1-70b-instruct# Application
NODE_ENV=development
PORT=7777
APP_NAME=MergeMates
# Database
DB_CONNECTION_SECRET=mongodb://localhost:27017/mergemates
# Security
JWT_SECRET=your_super_secret_jwt_key
COOKIE_SECRET=your_cookie_secret
# Firebase Admin SDK
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-xxx@your_project.iam.gserviceaccount.com
FIREBASE_CLIENT_ID=your_client_id
FIREBASE_PRIVATE_KEY_ID=your_key_id
FIREBASE_CLIENT_X509_CERT_URL=your_cert_url
# Email Configuration
EMAIL_USER=your.email@gmail.com
EMAIL_PASSWORD=your_16_char_app_password
EMAIL_FROM=team@mergemates.com
# AI Services (Optional)
NOVITA_AI_API_KEY=your_novita_api_key
# CORS
FRONTEND_URL=http://localhost:5173
ALLOWED_ORIGINS=http://localhost:5173,https://mergemates.com- Sign Up: Create account with email/password or Google Sign-in
- Verify Email: Enter OTP sent to your email
- Complete Profile: Add bio, skills, photos, and preferences
- Start Swiping: Swipe right to like, left to pass
- Chat with Matches: Real-time messaging with your connections
- Use AI Assistant: Get help from MergeBot for dating tips
- Optimize Profile: Use AI insights to improve your profile
- Smart Responses: Context-aware conversation assistance
- Fallback System: Works without API key using predefined responses
- Developer Focus: Understands coding culture and tech terminology
- Enhanced Matching: AI-powered compatibility analysis
- Profile Insights: Detailed optimization recommendations
- Smart Suggestions: Personalized match recommendations
Note: All AI features have fallback systems and work without API keys, though responses will be more basic.
MergeMates/
βββ client/ # Frontend React application
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ utils/ # Utilities and Redux store
β β βββ firebase/ # Firebase configuration
β βββ env.sample # Environment template
βββ server/ # Backend Node.js application
β βββ src/
β β βββ routes/ # API routes
β β βββ models/ # MongoDB models
β β βββ services/ # Business logic
β β βββ utils/ # Utilities
β β βββ config/ # Configuration files
β βββ env.sample # Environment template
βββ README.md # This file
- JWT token authentication
- Password hashing with bcrypt
- Firebase authentication integration
- CORS protection
- Rate limiting
- Input validation and sanitization
- Secure cookie handling
- Developer-First: Built by developers, for developers
- Completely Free: No hidden costs, premium tiers, or payment walls
- AI-Powered: Smart matching and conversation assistance
- Modern UI: Beautiful, responsive design with smooth animations
- Real-time: Instant messaging and live updates
- Privacy-Focused: Secure authentication and data protection
If you encounter any issues or need help with deployment, please check the environment setup guide or create an issue in the repository.
MIT License - feel free to use this project as a foundation for your own applications!
Made with β€οΈ for the developer community