JobzUp is an AI-powered job portal designed to connect job seekers and recruiters through smart job matching, real-time communication, and modern hiring tools. The platform leverages AI to improve job discovery, recommendations, and candidate engagement.
- Features
- Tech Stack
- Prerequisites
- Installation
- Configuration
- Usage
- Project Structure
- Contributing
- Contact
-
🔍 AI-Based Job Recommendations
Intelligent matching between candidates and job postings. -
👤 Authentication & Authorization
Secure login and registration using JWT & OAuth. -
💼 Job Posting & Management
Recruiters can create, update, and manage job listings. -
🧑💻 Candidate Profiles
Resume upload, skills, experience, and preferences. -
💬 Real-Time Chat
Direct messaging between recruiters and job seekers. -
📊 Admin Dashboard
Manage users, jobs, and platform activity. -
📱 Responsive UI
Works seamlessly across desktop, tablet, and mobile.
- React.js
- Redux Toolkit / Zustand
- Tailwind CSS
- ShadCN UI
- Node.js
- Express.js
- REST APIs
- MongoDB (Mongoose)
- OpenAI API (job recommendations & AI chat)
- Socket.IO
- JWT
- OAuth (Google / GitHub)
- Docker
- Docker Compose
- Render / Vercel
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (local or cloud)
- OpenAI API key
git clone https://github.com/viv756/jobzup.git
cd jobzup
cd server
npm install
cd client
npm install
Create a .env file in both backend and frontend directories.
PORT=8000
MONGO_URI=your_mongodb_url
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN ="1d"
COOKIE_EXPIRE ="1"
ARCJET_ENV=development
ARCJET_KEY=your_arcjet_key
GEMINI_API_KEY=your_gemini_api_key
HF_API_TOKEN=hf_api_key
FRONTEND_ORIGIN=http://localhost:5173
GOOGLE_CLIENT_ID=your_google_client_id
VITE_API_BASE_URL = http://localhost:8000/api
VITE_BASE_URL = http://localhost:8000
VITE_UNSIGNED_PRESET = your_unsigned_preset_in_cloudinary
VITE_CLOUD_NAME =your_cloud_name_in_cloudinary
VITE_ZEGO_APPID=your_zegocloud_app_id
VITE_ZEGO_SERVER_SECRET=your_zegocloud_server_secret
npm run dev
npm run dev
JobzUp supports Dockerized development and deployment, making setup consistent and environment-independent.
- Docker
- Docker Compose
docker-compose up --buildThis will start:
- Frontend (React)
- Backend (Node.js / Express)
- MongoDB
docker-compose down
| Service | Description | Port |
| -------- | --------------------- | ----- |
| frontend | React application | 5173 |
| backend | Node.js / Express API | 8000 |
| mongodb | MongoDB database | 27017 |
jobzup/
├── backend/
│ ├── controllers/ # Request handlers for API endpoints
│ ├── routes/ # API route definitions
│ ├── models/ # Database models/schemas
│ ├── services/ # Business logic and external service integrations
│ ├── middleware/ # Custom middleware functions
│ └── server.js # Backend entry point
├── frontend/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page-level components/routes
│ ├── store/ # State management (Redux/Zustand/etc.)
│ ├── hooks/ # Custom React hooks
│ └── main.jsx # Frontend entry point
├── docs/ # Documentation files
├── .env.example # Environment variables template
├── package.json # Project dependencies and scripts
└── README.md # Project documentation
- Fork the project
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m "Add AmazingFeature"
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
Vivek
GitHub: https://github.com/viv756
Project Live Link: 👉 https://jobzup-client.onrender.com/