Skip to content

Deep-005/Qollab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

# πŸ“„ Qollab - AI Resume Matcher

An intelligent API that matches candidate resumes to job descriptions using AI/NLP, providing recruiters with ranked candidate suggestions.
View project live at: https://qollab.onrender.com

## 🎯 Project Overview

Qollab is a comprehensive resume matching system that leverages Natural Language Processing (NLP) and Machine Learning algorithms to help recruiters find the best candidates for their job openings. Recruiters can upload multiple resumes (PDF format), create job postings, and receive AI-powered ranked recommendations based on resume relevance. The system uses a hybrid scoring approach combining TF-IDF vectorization, cosine similarity, and keyword matching to provide accurate and explainable results. It also features smart query detection that can handle both detailed job descriptions and quick keyword searches.

## ✨ Features

  • πŸ” JWT Authentication - Secure login/register for recruiters and admins
  • πŸ“„ Resume Management - Single or batch PDF upload with text extraction
  • πŸ’Ό Job Posting - Create, edit, and reuse job descriptions
  • πŸ€– AI-Powered Matching - Hybrid scoring (semantic + keyword) with explainable results
  • 🎯 Smart Query Detection - Auto-detects keyword searches vs full descriptions
  • πŸ“Š Keyword Breakdown - Shows matched and missing keywords for each candidate
  • πŸ“± Responsive UI - Modern interface that works on desktop and mobile
  • πŸš€ RESTful API - Complete API with Swagger documentation
  • πŸ—„οΈ Admin Panel - Built-in Django admin for data management
  • πŸ“ Pagination - Efficient handling of large result sets

## πŸ› οΈ Tech Stack

Category Technologies
Backend Django, Django REST Framework
AI/ML scikit-learn (TF-IDF, Cosine Similarity)
Database SQLite (dev) / PostgreSQL (production)
Authentication JWT (SimpleJWT)
Frontend HTML5, CSS3, JavaScript, Tailwind CSS
File Processing PyPDF2
API Documentation drf-spectacular (Swagger/ReDoc)
Deployment Render / PythonAnywhere

## πŸ“‹ Prerequisites

  • Python 3.10+
  • Django 4.0+
  • pip package manager
  • Git

## πŸš€ Installation

1. Clone the repository

git clone https://github.com/Deep-005/Qollab.git
cd Qollab

2. Create virtual environment

Open termminal or bash(windows)
python -m venv venv
venv\Scripts\activate

3. Install dependencies

Open terminal
pip install -r requirements.txt

4. Configure environment variables

Create a .env file in the project root and add the following:

SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1

5. Run migrations

Within terminal and run
python manage.py migrate

6. Create superuser (admin)

Open terminal and run
python manage.py createsuperuser

7. Run development server

Open terminal and run
python manage.py runserver

8. Access the application

Frontend: http://127.0.0.1:8000/
Admin Panel: http://127.0.0.1:8000/admin/
API Docs: http://127.0.0.1:8000/api/docs/

πŸ“‘ API Endpoints

Method Endpoint Description Auth Required

POST /api/register/ User registration
POST /api/login/ JWT login
POST /api/refresh/ Refresh JWT token
POST /api/jobs/ Create job posting
GET /api/jobs/ List all jobs
GET /api/jobs/{id}/ Get job details
GET /api/jobs/{id}/match/ Get ranked candidates
POST /api/resumes/batch/ Batch upload resumes
GET /api/resumes/count/ Get resume count
DELETE /api/resumes/clear-all/ Delete all resumes
DELETE /api/resumes/{id}/ Delete single resume

🎨 Screenshots

Login Page Screenshot (138)

Register Page Screenshot (139)

Create Job Page Screenshot (140)

Upload Resumes Page Screenshot (142)

Results Page with Keyword Breakdown Screenshot (143)

Admin Panel Screenshot (144)

API Documentation (Swagger) Screenshot (145) Screenshot (146)

About

AI-powered resume matching system for recruiters.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors