Skip to content

viv756/jobzup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

207 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ JobzUp – AI-Powered Job Portal

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.


πŸ“Œ Table of Contents


✨ Features

  • πŸ” 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.


πŸ›  Tech Stack

Frontend

  • React.js
  • Redux Toolkit / Zustand
  • Tailwind CSS
  • ShadCN UI

Backend

  • Node.js
  • Express.js
  • REST APIs

Database

  • MongoDB (Mongoose)

AI

  • OpenAI API (job recommendations & AI chat)

Real-Time

  • Socket.IO

Authentication

  • JWT
  • OAuth (Google / GitHub)

DevOps

  • Docker
  • Docker Compose

Deployment

  • Render / Vercel

πŸ“‹ Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • MongoDB (local or cloud)
  • OpenAI API key

πŸš€ Installation

Clone the repository

git clone https://github.com/viv756/jobzup.git
cd jobzup

Install dependencies

Backend

cd server
npm install

Frontend

cd client
npm install

βš™οΈ Configuration

Create a .env file in both backend and frontend directories.

Backend .env

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

Frontend .env

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


πŸ’» Usage

Development

Start Backend

npm run dev

Start Frontend

npm run dev


🐳 Docker Support

JobzUp supports Dockerized development and deployment, making setup consistent and environment-independent.

Prerequisites

  • Docker
  • Docker Compose

Run the Project Using Docker

docker-compose up --build

This will start:

  • Frontend (React)
  • Backend (Node.js / Express)
  • MongoDB

Stop Containers

docker-compose down
| Service  | Description           | Port  |
| -------- | --------------------- | ----- |
| frontend | React application     | 5173  |
| backend  | Node.js / Express API | 8000  |
| mongodb  | MongoDB database      | 27017 |

πŸ“ Project Structure

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

🀝 Contributing

  1. Fork the project
  2. Create your feature branch
git checkout -b feature/AmazingFeature
  1. Commit your changes
git commit -m "Add AmazingFeature"
  1. Push to the branch
git push origin feature/AmazingFeature
  1. Open a Pull Request

πŸ“§ Contact

Vivek

GitHub: https://github.com/viv756

Project Live Link: πŸ‘‰ https://jobzup-client.onrender.com/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages