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.
- ๐ 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
- ๐ข 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
- ๐จ 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
- 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
- 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-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
- Node.js (v16 or higher)
- MongoDB (local or Atlas)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd project-new- Backend Setup
cd backend
npm install- Create
.envfile 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- Frontend Setup
cd ../frontend
npm install- Run the Application
Terminal 1 - Backend:
cd backend
npm run devTerminal 2 - Frontend:
cd frontend
npm run dev- Open in Browser
http://localhost:5173
- Primary (Indigo):
#6366F1- Main brand color - Secondary (Teal):
#14B8A6- Cool accent - Accent (Purple):
#A855F7- Refined highlight
- Background: Pure White (
#FFFFFF) - Foreground: Slate-900 (
#0F172A) - Cards: White with subtle shadows
- Background: Slate-900 (
#0F172A) - Foreground: Slate-100 (
#F1F5F9) - Cards: Slate-800 with glow effects
POST /api/v1/user/register- Register new userPOST /api/v1/user/login- User loginGET /api/v1/user/logout- User logoutPOST /api/v1/user/profile/update- Update profile
GET /api/v1/job/get- Get all jobsGET /api/v1/job/get/:id- Get job by IDPOST /api/v1/job/post- Post new job (recruiter)GET /api/v1/job/getadminjobs- Get recruiter's jobs
- ๐ Bookmark System - Save jobs to localStorage
- ๐พ Saved Jobs Page -
/saved-jobsroute to view bookmarked jobs - โ Visual Feedback - Icon changes when job is bookmarked
- ๐ Persistent Storage - Bookmarks survive page refreshes
POST /api/v1/company/register- Register companyGET /api/v1/company/get- Get all companiesGET /api/v1/company/get/:id- Get company by IDPUT /api/v1/company/update/:id- Update company
POST /api/v1/application/apply/:id- Apply to jobGET /api/v1/application/get- Get user's applicationsGET /api/v1/application/:id/applicants- Get job applicantsPOST /api/v1/application/status/:id/update- Update status
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)
- Hero section with search
- Category carousel
- Latest job listings
- Modern clean design with gradient backgrounds
- Advanced filtering (Location, Industry, Salary)
- Real-time search
- Beautiful job cards with bookmark functionality
- 3-column grid layout
- Save for later button
- View all bookmarked jobs
- Persistent storage with localStorage
- Same filtering and search capabilities
- Job count display
- Empty state for no saved jobs
- Company management
- Job posting
- Applicant tracking
- Analytics overview
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
IgniteX - Built with passion and by Dishi Gupta and Ishi Bhavsar
- 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
For questions or support, please reach out:
- Email: ishibhavsar41@gmail.com, dishigpt15@gmail.com
- GitHub: https://github.com/Ishibhavsar, https://github.com/DishiGpt
- โ 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
- 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 ๐