https://github.com/asadkhan911/jobconnect_fullstack
JobConnect is a full-stack job posting platform built with the MERN stack. It connects students and recruiters, offering real-time job applications, status tracking, and file uploads via Cloudinary. The app is responsive, efficient, and built using Redux Toolkit, Vite, and Tailwind CSS.
https://github.com/asadkhan911/jobconnect_fullstack
bcryptjs cloudinary express framer-motion jwt mongodb-atlas multer nodejs reactjs redux-persist redux-toolkit render shadcn-ui tailwindcss vite
Last synced: about 2 months ago
JSON representation
JobConnect is a full-stack job posting platform built with the MERN stack. It connects students and recruiters, offering real-time job applications, status tracking, and file uploads via Cloudinary. The app is responsive, efficient, and built using Redux Toolkit, Vite, and Tailwind CSS.
- Host: GitHub
- URL: https://github.com/asadkhan911/jobconnect_fullstack
- Owner: AsadKhan911
- Created: 2025-01-23T20:53:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-24T22:00:20.000Z (over 1 year ago)
- Last Synced: 2026-01-03T12:25:19.987Z (5 months ago)
- Topics: bcryptjs, cloudinary, express, framer-motion, jwt, mongodb-atlas, multer, nodejs, reactjs, redux-persist, redux-toolkit, render, shadcn-ui, tailwindcss, vite
- Language: JavaScript
- Homepage:
- Size: 1.62 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MERN JobConnect (RESPONSIVE)
A full-stack, real-time job posting web application built on the MERN stack (MongoDB, Express, React, Node.js). This platform connects **students** and **recruiters**, providing an efficient way for job seekers to apply for jobs and for recruiters to manage applications dynamically.
---
## 🚀 Features
### Recruiter Features:
- **Register Companies:** A recruiter can register one or multiple companies.
- **Post Jobs:** Create job postings under any registered company.
- **Manage Applications:**
- View a list of applicants for each job, along with their relevant details and resumes.
- Accept or reject applications in real time, dynamically updating the student's application status.
- **Edit Details:** Update company information or job descriptions.
### Student Features:
- **Browse Jobs:** Explore all jobs posted by recruiters.
- **Search and Filter:** Find jobs based on:
- Salary
- Location
- Role
- Custom keyword search
- **Apply for Jobs:** Submit applications for jobs and track their status in real time.
- **Application Tracking:** View the total number of jobs applied for and their statuses (e.g., Accepted, Rejected, Pending).
### Real-Time Updates:
- Job postings, applications, and status updates happen dynamically without refreshing the page.
---
## 🛠️ Tech Stack
- **Frontend:** React, Vite, Tailwind, Redux Toolkit, ShadCN UI, Framer Motion
- **Backend:** Node.js, Express.js
- **Database:** MongoDB
- **File Uploads:** Multer + Cloudinary
- **State Management:** Redux Toolkit
---
## 📂 Folder Structure
. ├── backend │ ├── controllers │ ├── models │ ├── middleware │ ├── routes │ ├── server.js │ └── config ├── frontend │ ├── src │ │ ├── components │ │ ├── pages │ │ ├── hooks │ │ ├── store │ │ └── App.jsx └── README.md
---
## 📸 Screenshots
### Login/Signup Screenshots
### Student Section Screenshots

### Recruiter Section Screenshots
---
## 🚀 Deployment
This full-stack **MERN JobConnect** project has been deployed on **Render**, a cloud platform that supports web applications, databases, and file storage. You can access the live version of the application here:
---
## ⏱️ Development Timeline (Key Highlights)
1. **Backend Setup**
- Connected MongoDB, created models, and implemented controllers for users, companies, jobs, and applications.
- API routes and middleware for security and validation.
2. **Frontend Development**
- React and Vite setup with Redux Toolkit for state management.
- Built dynamic pages like Home, Login/Signup, Jobs, User Profile, and Admin Dashboard.
3. **File Uploads and Cloudinary Integration**
- Set up **Multer** for handling file uploads on the backend.
- Integrated **Cloudinary** for secure and efficient file storage for resumes and images.
---
## 🔒 Security
To ensure data security, the following measures have been implemented:
- **Encrypted Passwords:** All user passwords are securely hashed using `bcrypt.js`, ensuring that passwords are not stored in plain text.
- **Authentication:** Users are authenticated using **JSON Web Tokens (JWT)**. After successful login, a JWT is issued to maintain secure sessions. This token is sent in the Authorization header of each request to protected routes.
---
## 📈 State Management with Redux Persist
To ensure a smooth user experience, **Redux Persist** is used to persist state across browser sessions. This ensures that:
- **User Authentication:** The authentication state (e.g., whether a user is logged in) is saved even after the browser is closed or refreshed.
- **Job Applications:** User applications for jobs and job filters persist across page reloads, allowing users to pick up where they left off without losing any data.
---
## 🧑💻 Getting Started
### Prerequisites:
- Node.js installed
- MongoDB set up locally or using a cloud service (e.g., MongoDB Atlas)
- A Cloudinary account for file storage
**Clone the Repository**
```bash
git clone https://github.com/AsadKhan911/JobConnect_FullStack.git