Skip to content

Bhupesh-aher/DevTinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’Ό DevTinder – Backend (Express + MongoDB + JWT + WebSockets)

πŸš€ DevTinder β€” a professional networking platform for developers to connect, chat, and collaborate in real-time.


🧩 Overview

DevTinder is a Tinder-style developer networking platform, built with Express.js, MongoDB, and Socket.io.
It provides secure JWT-based authentication, real-time chat functionality, and scalable APIs for user profiles, connections, and messaging.


βš™οΈ Tech Stack

Layer Technology
Backend Framework Node.js (Express.js)
Database MongoDB + Mongoose
Authentication JWT + bcrypt.js
Real-time Communication Socket.io
File Uploads (optional) Cloudinary
API Documentation Swagger
Hosting Render
Security Helmet, CORS, dotenv

✨ Core Features

βœ… User Authentication β€” Register, Login, and JWT token-based protection
βœ… Profile Management β€” Update bio, skills, experience, and avatar
βœ… Connection System β€” Send, receive, and accept developer connection requests
βœ… Real-Time Chat β€” Live messaging using Socket.io
βœ… Search & Filter β€” Discover other developers by skill or location
βœ… Activity Logging β€” Tracks new messages, requests, and acceptances
βœ… Production-Ready APIs β€” With error handling, async middleware, and modular routes


🧱 Project Structure


DevTinder-Backend/
┣ src/
┃ ┣ controllers/      β†’ All route logic (auth, users, chats, etc.)
┃ ┣ models/           β†’ MongoDB schemas
┃ ┣ routes/           β†’ API routes
┃ ┣ middleware/       β†’ Auth middleware (JWT validation)
┃ ┣ config/           β†’ DB + socket.io setup
┃ ┣ utils/            β†’ Helper functions
┣ server.js           β†’ Entry point
┣ .env                β†’ Environment variables
β”— README.md           β†’ Documentation


🧠 API Highlights

πŸ” Auth

Method Endpoint Description
POST /api/auth/register Register a new user
POST /api/auth/login Login and get JWT token

πŸ‘₯ Users

Method Endpoint Description
GET /api/users/me Get logged-in user details
PUT /api/users/me Update profile

🀝 Connections

Method Endpoint Description
POST /api/connections/send/:id Send a connection request
PUT /api/connections/accept/:id Accept request
GET /api/connections Get all connections

πŸ’¬ Chat

Method Endpoint Description
GET /api/chats/:userId Get chat history with a user
POST /api/chats/:userId Send a new message

πŸ”§ Setup & Installation

# 1️⃣ Clone repo
git clone https://github.com/<your-username>/DevTinder-Backend.git
cd DevTinder-Backend

# 2️⃣ Install dependencies
npm install

# 3️⃣ Create .env file
PORT=5000
MONGO_URI=yourMongoURI
JWT_SECRET=yourJWTSecret
CLIENT_URL_DEV=http://localhost:5173
CLIENT_URL_PROD=https://devtinder-frontend.vercel.app

# 4️⃣ Start development server
npm run dev

☁️ Deployment

Service Purpose
Render Backend hosting
MongoDB Atlas Database
Vercel Frontend hosting
Swagger API documentation

πŸ”’ Environment Variables

Variable Description
MONGO_URI MongoDB Atlas URI
JWT_SECRET Secret for JWT signing
CLIENT_URL_DEV Local frontend URL
CLIENT_URL_PROD Production frontend URL
PORT Server port

🧭 Future Enhancements

  • Typing indicators in chat
  • Message read receipts
  • Profile verification system
  • Email notifications for connection requests

πŸ§‘β€πŸ’» Author

Bhupesh Aher πŸ”— GitHub Profile


πŸ“Έ Screenshots (comming soon)

About

πŸ’¬ DevTinder the social developer connection platform, backend built using Node.js, Express, and MongoDB β€” providing user authentication, real-time chat, match recommendations, and secure API endpoints.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors