Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

MERN Stack Job Portal

A modern, full-stack job board built with the MERN stack (MongoDB, Express, React, Node.js) featuring real-time filtering, secure authentication, and a professional recruiter dashboard.

🚀 Live Demo

Vercel Live Website


✨ Features

  • 🔐 Secure Authentication: Handled by Firebase Authentication. Users can securely sign up, log in, and logout.
  • 🔍 Reactive Search: Real-time job filtering by Position and Location in the banner. Results update instantly as you type.
  • 📊 Advanced Filtering: Refine job searches via the sidebar:
    • Salary: Filter by type (Hourly, Monthly, Yearly) and range.
    • Date of Posting: See jobs from the last 24h, 7 days, or month.
    • Experience Level: Fresher, Internship, or Remote.
    • Employment Type: Full-time, Part-time, Temporary.
  • 💼 Recruiter Dashboard:
    • Post Jobs: Simple form with auto-filled 'Posted By' email and skill tags.
    • Manage Jobs: "My Jobs" section to view, edit, and delete job listings you've posted.
  • 🛡️ Protected Routes: Critical actions like Posting and Editing jobs are protected by PrivateRoute to ensure only logged-in users have access.
  • 🔔 Toast Notifications: Modern, non-intrusive feedback using react-hot-toast replaces old browser alerts.
  • 📱 Responsive Design: Fully responsive UI built with Tailwind CSS, optimized for mobile, tablet, and desktop.

🛠️ Tech Stack

Frontend:

  • React.js (Vite)
  • Tailwind CSS
  • React Router DOM (Navigation)
  • React Hook Form (Forms)
  • React Select (Creatable skill tags)
  • React Hot Toast (Notifications)

Backend:

  • Node.js
  • Express.js
  • MongoDB (Database)
  • Firebase Admin SDK (Authentication)

⚙️ Installation & Setup

1. Clone the repository

git clone https://github.com/your-username/Mern_JobPortal.git
cd Mern_JobPortal

2. Backend Setup

cd job-portal-server
npm install

Create a .env file in job-portal-server/:

DB_USER=your_mongodb_usernameDB_PASSWORD=your_mongodb_password

Run the server:

node index.js
# or if you have nodemon
nodemon index.js

3. Frontend Setup

cd ../job-portal-client
npm install

Create a .env file in job-portal-client/:

VITE_API_URL=http://localhost:5000VITE_FIREBASE_API_KEY=your_firebase_apikeyVITE_FIREBASE_AUTH_DOMAIN=your_firebase_authdomainVITE_FIREBASE_PROJECT_ID=your_firebase_projectidVITE_FIREBASE_STORAGE_BUCKET=your_firebase_storagebucketVITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_idVITE_FIREBASE_APP_ID=your_firebase_app_id

Start the development server:

npm run dev

🔧 Recent Improvements

  • Refactored home page filtering logic for zero-latency reactive search.
  • Secured all Firebase keys and backend credentials into environment variables.
  • Fixed non-destructive search bug in "My Jobs" and "Salary" pages.
  • Corrected backend upsert bug preventing accidental document duplication.
  • Replaced legacy alert() calls with professional toast notifications.

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📧 Contact

Anuj Kumar - xp27anujkumar@gmail.com

Project Link: https://github.com/your-username/Mern_JobPortal

About

This is a Full Stack Job Portal Project utilizing the MERN stack (MongoDB, Express, React, Node), complemented by Firebase Auth and Tailwind CSS. It's crafted to aid job seekers in finding suitable employment while enabling recruiters to post and manage job listings.The portal ensures a seamless user experience for exploring career opportunities.

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages