DevTinder is a developer-connection platform designed to help developers discover, connect, and collaborate with others who share similar technical skills and interests. This repository contains the backend microservice powered by Node.js, Express, MongoDB, and OpenAI integration for smart matchmaking and onboarding assistance.
🌐 Live Project: DevTinder
- 🔐 JWT-based Authentication (Login / Signup)
- 👤 User Profile Management
- 🤝 Interest & Connection Requests
- 🧠 Smart Matching using AI (Cosine Similarity)
- 💬 AI-Powered Onboarding Assistant (OpenAI API)
- 📦 REST API with modular structure
- 🍪 Cookie-based session handling
- 🌍 CORS and HTTPS ready
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose
- Real-time: Socket.io
- Authentication: JWT, bcrypt
- AI Integration: OpenAI GPT-3.5
- Validation: validator.js
git clone https://github.com/Shams261/DevTinder.git
cd DevTindernpm installPORT=3000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
OPENAI_API_KEY=your_openai_api_keynpm run dev- POST
/signup– Register new user - POST
/login– User login - POST
/logout– User logout
- GET
/profile/view– View profile - POST
/profile/edit– Edit profile
- POST
/request/send/:status/:toUserId– Send connection request - POST
/request/review/:status/:requestId– Review received request - GET
/user/requests/recieved– View received requests - GET
/user/connections– View accepted connections
- GET
/api/smart-matches– Get AI-powered matches
- GET
/api/chat/:targetUserId– Get chat history
- POST
/api/ai-assistant– Get AI assistance
- Password hashing using bcrypt
- JWT-based authentication
- CORS protection
- Input validation
- Rate limiting
- Environment variable protection
This backend is built to work seamlessly with the DevTinder Frontend built using React (Vite), Tailwind CSS, and DaisyUI.
This backend project was built while learning from:
- Namaste Node.js by Akshay Saini A highly recommended series for understanding Node.js fundamentals and backend architecture.
Contributions are welcome! If you'd like to improve this project, follow these steps:
- Fork the repository
- Clone your fork locally
- Create your feature branch:
git checkout -b feature/amazing-feature
- Make your changes and commit:
git commit -m "Add some amazing feature"- Push to your fork:
git push origin feature/amazing-feature- Open a Pull Request and describe your changes
This project is open-source and available under the MIT License.