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
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.
- π 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
| 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 |
- Python 3.10+
- Django 4.0+
- pip package manager
- Git
git clone https://github.com/Deep-005/Qollab.git
cd Qollab
Open termminal or bash(windows)
python -m venv venv
venv\Scripts\activate
Open terminal
pip install -r requirements.txt
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
Within terminal and run
python manage.py migrate
Open terminal and run
python manage.py createsuperuser
Open terminal and run
python manage.py runserver
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/
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
Login Page






