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/