Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

39 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฅ IgniteX - Job Portal

Where Ambition Sparks Opportunity

A modern, full-stack job portal application built with the MERN stack, featuring an elegant dark theme and a clean, professional user interface.


๐Ÿš€ Features

For Job Seekers

  • ๐Ÿ” Smart Job Search - Search jobs by title, location, or description
  • ๐ŸŽฏ Advanced Filters - Filter by industry, work type, and location
  • ๐Ÿ“ฑ Responsive Design - Seamless experience across all devices
  • ๐Ÿ’ผ Job Applications - Easy one-click apply to jobs
  • ๏ฟฝ Bookmark Jobs - Save jobs for later with persistent localStorage
  • ๐Ÿ’พ Saved Jobs Page - View all your bookmarked jobs in one place
  • ๏ฟฝ๐Ÿ‘ค Profile Management - Update profile, resume, and skills
  • ๐Ÿ“Š Application Tracking - Track all your job applications

For Recruiters

  • ๐Ÿข Company Management - Create and manage company profiles
  • โœ๏ธ Post Jobs - Easy job posting with detailed descriptions
  • ๐Ÿ“‹ Applicant Management - Review and manage job applications
  • ๐Ÿ“ˆ Dashboard - View all posted jobs and applicants
  • ๐ŸŽจ Rich Job Listings - Add requirements, salary, location, and more

Design Highlights

  • ๐ŸŽจ Modern UI/UX - Clean, professional design with smooth animations
  • ๐ŸŒ“ Dark/Light Mode - Toggle between elegant dark and light themes
  • โœจ Smooth Animations - Framer Motion powered transitions
  • ๐ŸŽจ Color Palette - Purple (#7209b7), Orange (#F83002), and Blue accent colors
  • ๐Ÿ’พ localStorage Integration - Persistent bookmarks across sessions

๐Ÿ› ๏ธ Tech Stack

Frontend

  • React 18+ - Modern React with Hooks
  • Vite - Lightning-fast build tool
  • Redux Toolkit - State management
  • React Router v6 - Client-side routing
  • Tailwind CSS - Utility-first styling
  • Framer Motion - Smooth animations
  • Shadcn/ui - High-quality UI components
  • Lucide React - Beautiful icons
  • Axios - HTTP client

Backend

  • Node.js - Runtime environment
  • Express.js - Web application framework
  • MongoDB - NoSQL database
  • Mongoose - MongoDB object modeling
  • JWT - Authentication & authorization
  • Bcrypt - Password hashing
  • Cloudinary - Image/file storage
  • Cookie Parser - Cookie handling
  • Multer - File upload handling
  • Dotenv - Environment variables

๐Ÿ“ Project Structure

project-new/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ controllers/      # Request handlers
โ”‚   โ”œโ”€โ”€ models/           # Database schemas
โ”‚   โ”œโ”€โ”€ routes/           # API routes
โ”‚   โ”œโ”€โ”€ middlewares/      # Auth & error handling
โ”‚   โ”œโ”€โ”€ utils/            # Helper functions & DB
โ”‚   โ””โ”€โ”€ index.js          # Entry point
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/   # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ admin/    # Recruiter dashboard
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ auth/     # Login/Signup
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ shared/   # Navbar, Footer
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ui/       # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/        # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ redux/        # State management
โ”‚   โ”‚   โ”œโ”€โ”€ utils/        # Constants & helpers
โ”‚   โ”‚   โ”œโ”€โ”€ App.jsx       # Main app component
โ”‚   โ”‚   โ””โ”€โ”€ index.css     # Global styles
โ”‚   โ””โ”€โ”€ public/           # Static assets
โ”‚
โ””โ”€โ”€ README.md

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB (local or Atlas)
  • npm or yarn

Installation

  1. Clone the repository
git clone <repository-url>
cd project-new
  1. Backend Setup
cd backend
npm install
  1. Create .env file in backend folder
PORT=3000
MONGO_URI=your_mongodb_connection_string
SECRET_KEY=your_jwt_secret_key
CLOUD_NAME=your_cloudinary_cloud_name
API_KEY=your_cloudinary_api_key
API_SECRET=your_cloudinary_api_secret
  1. Frontend Setup
cd ../frontend
npm install
  1. Run the Application

Terminal 1 - Backend:

cd backend
npm run dev

Terminal 2 - Frontend:

cd frontend
npm run dev
  1. Open in Browser
http://localhost:5173

๐ŸŽจ Color Palette

IgniteX Theme

  • Primary (Indigo): #6366F1 - Main brand color
  • Secondary (Teal): #14B8A6 - Cool accent
  • Accent (Purple): #A855F7 - Refined highlight

Light Mode

  • Background: Pure White (#FFFFFF)
  • Foreground: Slate-900 (#0F172A)
  • Cards: White with subtle shadows

Dark Mode

  • Background: Slate-900 (#0F172A)
  • Foreground: Slate-100 (#F1F5F9)
  • Cards: Slate-800 with glow effects

๐Ÿ“š API Endpoints

User Routes

  • POST /api/v1/user/register - Register new user
  • POST /api/v1/user/login - User login
  • GET /api/v1/user/logout - User logout
  • POST /api/v1/user/profile/update - Update profile

Job Routes

  • GET /api/v1/job/get - Get all jobs
  • GET /api/v1/job/get/:id - Get job by ID
  • POST /api/v1/job/post - Post new job (recruiter)
  • GET /api/v1/job/getadminjobs - Get recruiter's jobs

Job Features

  • ๐Ÿ”– Bookmark System - Save jobs to localStorage
  • ๐Ÿ’พ Saved Jobs Page - /saved-jobs route to view bookmarked jobs
  • โœ… Visual Feedback - Icon changes when job is bookmarked
  • ๐Ÿ”„ Persistent Storage - Bookmarks survive page refreshes

Company Routes

  • POST /api/v1/company/register - Register company
  • GET /api/v1/company/get - Get all companies
  • GET /api/v1/company/get/:id - Get company by ID
  • PUT /api/v1/company/update/:id - Update company

Application Routes

  • POST /api/v1/application/apply/:id - Apply to job
  • GET /api/v1/application/get - Get user's applications
  • GET /api/v1/application/:id/applicants - Get job applicants
  • POST /api/v1/application/status/:id/update - Update status

๐Ÿ” Authentication

The application uses JWT (JSON Web Tokens) for authentication:

  • Tokens stored in HTTP-only cookies
  • Protected routes for authenticated users
  • Role-based access (Job Seeker vs Recruiter)

๐Ÿ“ธ Screenshots

Home Page

  • Hero section with search
  • Category carousel
  • Latest job listings
  • Modern clean design with gradient backgrounds

Job Listings

  • Advanced filtering (Location, Industry, Salary)
  • Real-time search
  • Beautiful job cards with bookmark functionality
  • 3-column grid layout
  • Save for later button

Saved Jobs Page

  • View all bookmarked jobs
  • Persistent storage with localStorage
  • Same filtering and search capabilities
  • Job count display
  • Empty state for no saved jobs

Dashboard (Recruiter)

  • Company management
  • Job posting
  • Applicant tracking
  • Analytics overview

๐Ÿค Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a 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

๐Ÿ“ License

This project is licensed under the MIT License.


๐Ÿ‘จโ€๐Ÿ’ป Developer

IgniteX - Built with passion and by Dishi Gupta and Ishi Bhavsar


๐Ÿ™ Acknowledgments

  • Shadcn/ui - For beautiful UI components
  • Tailwind CSS - For utility-first styling
  • Framer Motion - For smooth animations
  • Lucide Icons - For clean, modern icons
  • Cloudinary - For file storage solution

๐Ÿ“ง Contact

For questions or support, please reach out:


โœ… Recent Updates

Bookmark & Save Jobs Feature (Latest)

  • โœ… localStorage Integration - Jobs bookmarked persist across sessions
  • โœ… Saved Jobs Page - Dedicated page to view all saved jobs
  • โœ… Bookmark Icon - Click to bookmark/unbookmark jobs
  • โœ… Save For Later Button - Quick save with visual feedback
  • โœ… Navbar Link - Easy access to saved jobs from navigation
  • โœ… Empty State UI - Friendly message when no jobs are saved
  • โœ… Auto-fetch Jobs - Saved jobs page fetches all jobs on mount

๐Ÿ”ฎ Future Enhancements

  • Backend storage for bookmarks (sync across devices)
  • Real-time notifications
  • Chat system between recruiters and candidates
  • Advanced analytics dashboard
  • Email notifications
  • Social media integration
  • Resume builder
  • Interview scheduling
  • Salary insights
  • Company reviews

Made with ๐Ÿ”ฅ by IgniteX Team

Where Ambition Sparks Opportunity ๐Ÿš€

Releases

Packages

Contributors

Languages