Skip to content

23vickysingh/Job-Boost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Job Boost

A modern job application platform with AI-powered resume parsing and intelligent job-candidate matching.

🚀 Features

  • User Authentication (Registration, Login, Password Reset)
  • Profile Management with Job Preferences
  • AI-Powered Resume Upload and Parsing using Google Gemini API
  • Job-Resume Relevance Matching with semantic similarity analysis
  • Redis-based OTP System for secure authentication
  • Celery Background Tasks for job searching and processing
  • Clean Dashboard Interface with modern UI/UX

🛠 Tech Stack

Backend

  • FastAPI (Python web framework)
  • PostgreSQL (Primary database)
  • Redis (Caching, Celery broker, OTP storage)
  • Google Gemini AI (Resume parsing & job relevance)
  • Celery (Background task processing)
  • Docker (Containerization)
  • SQLAlchemy (ORM)

Frontend

  • React + TypeScript
  • Vite (Build tool)
  • Tailwind CSS (Styling)
  • Shadcn/ui (UI components)
  • React Router (Navigation)
  • Context API (State management)

🚀 Getting Started

Prerequisites

  • Docker and Docker Compose
  • Git

Quick Setup

  1. Clone the repository

    git clone <repository-url>
    cd Job-Boost
  2. Configure Environment Variables

    cp .env.example .env

    Edit .env and add your API keys:

  3. Start the Application

    docker-compose up -d
  4. Access the Application

Manual Setup (Development)

  1. Backend Setup

    cd BackEnd
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
  2. Database Setup

    # Start PostgreSQL and Redis
    docker-compose up -d postgres redis
    
    # Database will be automatically created on first run
  3. Start Backend

    uvicorn main:app --reload
  4. Frontend Setup

    cd FrontEnd
    npm install  # or bun install
    npm run dev  # or bun dev

📁 Project Structure

Job-Boost/
├── BackEnd/                 # FastAPI backend
│   ├── auth/               # Authentication logic
│   ├── routers/           # API route handlers
│   ├── services/          # Business logic services
│   ├── utils/             # Utility functions
│   ├── main.py            # FastAPI application
│   ├── models.py          # Database models
│   ├── schemas.py         # Pydantic schemas
│   └── requirements.txt   # Python dependencies
├── FrontEnd/              # React frontend
│   ├── src/
│   │   ├── components/    # React components
│   │   ├── pages/         # Page components
│   │   ├── contexts/      # React contexts
│   │   └── lib/           # API utilities
│   └── package.json       # Node.js dependencies
├── docker-compose.yml     # Docker services configuration
└── README.md             # This file

Environment Variables

Create a .env file with the following variables:

# Database
POSTGRES_DB=jobboost_db
POSTGRES_USER=jobboost_user
POSTGRES_PASSWORD=your_password

# Redis
REDIS_URL=redis://redis:6379/0

# API Keys
GEMINI_API_KEY=your_gemini_api_key
BREVO_API_KEY=your_brevo_api_key

# JWT
SECRET_KEY=your_secret_key

API Endpoints

  • POST /user/register - User registration
  • POST /user/login - User login
  • POST /user/request-password-reset - Request password reset
  • POST /user/reset-password - Reset password
  • GET /profile/me - Get user profile
  • PUT /profile/preferences - Update job preferences
  • POST /profile/upload-resume - Upload and parse resume

License

This project is licensed under the MIT License.

About

A Project to make your day to day applying to jobs easier.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors