A full-stack LinkedIn-style social platform built using the MERN stack, featuring secure authentication, user profiles, post feeds, and social networking features.
- π Frontend (Vercel): https://tap-academy-two.vercel.app/
- βοΈ Backend (Render - Free Tier): (may take time to wake up)
This project replicates core LinkedIn functionalities, focusing on:
- Secure authentication system
- User profile management
- Feed-based content sharing
- Social graph (follow/unfollow)
- Scalable and modular architecture
π Reused from: π https://github.com/mohankumaronly/Authentication_using_MERN
- Email + Password login
- Google OAuth 2.0
- JWT Access & Refresh Tokens
- HTTP-only cookie-based authentication
- Email verification system
- Forgot / Reset password flow
- Persistent login (
/me) - Secure logout & token rotation
- Create & update profile
- Upload avatar (Cloudinary)
- Public / private profile visibility
- View other users' profiles
- Create post
- Edit & delete post
- Like posts
- Global feed
- User-specific posts
- Follow / Unfollow users
- Followers / Following list
- Connection statistics
- Partially implemented
- Backend structure ready
- WebSocket integration in progress
- Node.js + Express
- MongoDB + Mongoose
- JWT Authentication
- Google OAuth 2.0
- Cloudinary (media uploads)
- Nodemailer / Brevo (emails)
- Rate Limiting + Security Middleware
- React (Vite)
- React Router v6
- Context API
- Axios (interceptors)
- Tailwind CSS
- Docker & Docker Compose
- Render (Backend - Free Tier)
- Vercel (Frontend)
- Nginx (Frontend container)
Login / OAuth
β Access Token (httpOnly cookie)
β Refresh Token (stored in DB + cookie)
β Access expires
β Silent refresh (/refresh-token)
β Retry request
backend/
βββ server.js
βββ package.json
βββ Dockerfile
βββ Dockerfile.dev
βββ .env
β
βββ configuration/
β βββ db.js
β
βββ middlewares/
β βββ rate.limiter.js
β βββ token.verification.js
β
βββ modules/
β βββ auth/
β β βββ controllers/
β β βββ models/
β β βββ routers/
β β βββ validators/
β β
β βββ profile/
β β βββ controllers/
β β βββ models/
β β βββ middlewares/
β β βββ routers/
β β
β βββ posts/
β β βββ controllers/
β β βββ models/
β β βββ middlewares/
β β βββ routes/
β β
β βββ chat/ (WIP)
β βββ controllers/
β βββ models/
β βββ routes/
β
βββ utils/
βββ cloudinary.js
βββ sendEmail.js
βββ Emails/
frontend/
βββ Dockerfile
βββ Dockerfile.dev
βββ vite.config.js
βββ vercel.json
β
βββ public/
β βββ assets
β
βββ src/
βββ App.jsx
βββ main.jsx
β
βββ assets/
βββ common/
βββ components/
βββ context/
β βββ AuthContext.jsx
β
βββ Hooks/
βββ layouts/
β βββ LayoutComponents/
β
βββ pages/
β βββ Auth/
β βββ Home/
β βββ posts/
β βββ payment/ (not used)
β βββ NotFound/
β
βββ Routers/
β βββ AppRouters.jsx
β
βββ services/
βββ api.js
βββ auth.service.js
βββ post.service.js
βββ profile.service.js
βββ chat.service.js
docker-compose -f docker-compose.dev.yml up --builddocker-compose up --buildgit clone https://github.com/your-username/linkedin-clone.git
cd linkedin-clone
# Backend
cd backend
npm install
npm run dev
# Frontend
cd frontend
npm install
npm run dev- HTTP-only cookies (XSS protection)
- Refresh token rotation
- Rate limiting
- Secure OAuth flow
- Input validation
- β Authentication
- β Profiles
- β Posts
- π§ Comments
- π§ Chat (WebSockets)
- β³ Notifications improvements
- β³ Search system
- π Production-ready authentication system
- π§± Modular backend architecture
- β‘ Clean & scalable frontend
- π³ Dockerized setup (dev + prod)
- π Fully deployed (Render + Vercel)
Mohan Kumar
MIT License











