LinkedUp is a full-stack LinkedIn clone built with React.js, Node.js, and modern tools/libraries. It replicates core features of LinkedIn, enabling users to connect, share posts, and interact socially with other users.
- React.js
- Tailwind CSS
- React Router DOM
- React Redux
- Zod (form validation)
- useContext (state management)
- Socket.IO Client
- Node.js
- Express.js
- Socket.IO
- JWT (jsonwebtoken) (authentication)
- Cookie-parser
- Multer (file uploads)
- Cloudinary (image storage)
- User registration and login with secure JWT-based authentication
- Protected routes using middleware
- Cookie-based session handling
- Edit profile:
- Profile picture
- Cover image
- Name
- About section
- Send invites to connect with other users
- Accept/Reject invites
- Real-time invite notifications via Socket.IO
- Upload new posts (with text & images)
- Like others’ posts
- Comment on posts
- Real-time updates on new posts and interactions
- Live updates for:
- New invites
- New likes/comments on posts
- Accept/reject status of invites
linkedup/
├── client/ # React Frontend
│ ├── components/
│ ├── pages/
│ ├── redux/
│ └── ...
├── server/ # Express Backend
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ └── ...
You can deploy the app using platforms like:
- Frontend: Vercel / Netlify
- Backend: Render / Railway / Hostinger / Heroku
- Database: MongoDB Atlas
- Media: Cloudinary
- Clone the repository
git clone https://github.com/your-username/linkedup.git
cd linkedup
- Set up environment variables
Create .env
files in client/
and server/
directories for storing API keys, DB URIs, and Cloudinary configs.
- Install dependencies
# Frontend
cd frontend
npm install
# Backend
cd ../backend
npm install
- Run the app
# In /server
npm run dev
# In /client (separate terminal)
npm run dev
- Real-time chat system
- Notifications tab
- Search users and posts
- Share post functionality