Skip to content

TalentCraft is a full-stack AI-powered career platform that helps job seekers improve resumes, match with relevant jobs, and prepare for HR interviews. It also offers personalized learning paths with hands-on projects, progress tracking, and skill badges to close gaps and boost career growth.

License

Notifications You must be signed in to change notification settings

romilmonpara/TalentCraft-careertech-resumebuilder-jobmatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

💼 TalentCraft

Discover TalentCraft, the ultimate AI-driven career companion that helps job seekers optimize their resumes, uncover skill gaps, and prepare smarter for interviews. AI-powered resume analysis, smart job matching, and interview practice — all in one.

TalentCraft Banner

React Django DRF Tailwind PostgreSQL JWT GitHub Stars GitHub Forks GitHub Issues GitHub PRs License

DemoDocsIssues

📌 Overview

TalentCraft is a full‑stack platform that analyzes resumes, extracts skills and experience, and compares them against job descriptions to produce a match score with actionable feedback. It also includes an HR interview practice assistant and a simple resume builder to generate polished PDFs.


👨‍💻 Developer Info


🎮 Live Demo

📚 Table of Contents

  • Features
  • Tech Stack
  • Architecture
  • API Endpoints
  • Frontend Structure
  • Backend Structure
  • Algorithm & Logic
  • Data Models
  • Installation
  • Usage Examples
  • Roadmap
  • Contributing
  • Acknowledgements
  • License

✨ Features

🔍 Resume Analysis & Management

  • Smart PDF parsing and structured extraction
  • Multiple profile support and social profile detection
  • Clean dashboard to review and fix parsed data
Resume Dashboard

🎯 Job Matching

  • Skill gap analysis and transparent match scoring
  • Personalized, actionable improvement suggestions
  • Clear visual indicators for quick assessment

🤖 HR Interview Practice

  • 100+ curated HR interview questions with categories and search
  • Interactive chatbot practice with instant feedback
  • Pagination and progress tracking
HR Chatbot

Practice interviews with a conversational assistant

Interview Questions

📄 Resume Builder

  • ATS‑friendly templates and custom PDF generation
  • Manage sections: experience, education, projects, skills
  • Support for multiple entries and compact mini‑projects

👤 User Management

  • Secure JWT auth and responsive account UI
  • Profile selection to switch between resume profiles

🌐 Job Market Integration

  • Real‑time job search via external APIs
  • Match‑based job sorting and quick apply links

🧰 Tech Stack

  • Frontend: React 19, React Router, Axios, Tailwind CSS
  • Backend: Django 5.2, Django REST Framework, SimpleJWT
  • PDF & Parsing: PyMuPDF (fitz), ReportLab
  • Database: PostgreSQL
  • Other Tools: Redis (optional), Regex‑based text analysis
React React Router Axios Tailwind Django DRF PostgreSQL Redis

🏗️ Architecture

Client‑server architecture:

  • React SPA frontend
  • Django REST API backend
  • PostgreSQL database
  • External job APIs for search and enrichment
System Overview

📊 API Endpoints

Expand to view endpoints

Authentication

  • POST /api/signup/
  • POST /api/login/
  • POST /api/token/refresh/
  • POST /api/password-reset/

Resume Management

  • POST /api/resumeupload/
  • GET /api/profiles/
  • GET /api/current-profile/
  • POST /api/set-current-profile/

Job Matching

  • POST /api/match/match-job-description/
  • GET /api/jobs/matching-jobs/

HR Interview Practice

  • GET /chatbot/hr-questions/
  • GET /chatbot/start/
  • POST /chatbot/next-question/
  • GET /chatbot/random/

Resume Builder

  • POST /api/resume/generate/

🖥️ Frontend Structure

ai_resume_matcher/frontend/
├── public/
│   ├── index.html
│   ├── logo.png
│   └── p.avif
├── src/
│   ├── api/
│   │   ├── axiosConfig.js
│   │   └── axiosInstance.js
│   ├── components/
│   │   ├── HRChatBot.jsx
│   │   ├── HRQuestionsPage.jsx
│   │   ├── PrivateRoute.js
│   │   └── PublicRoute.js
│   ├── pages/
│   │   ├── Assignments.jsx
│   │   ├── HRInterviewPractice.jsx
│   │   ├── Roadmap.jsx
│   │   ├── TrainingDashboard.jsx
│   │   ├── home.jsx
│   │   ├── jobmatch.jsx
│   │   ├── jobs.jsx
│   │   ├── landing.jsx
│   │   ├── me.jsx
│   │   ├── profile.jsx
│   │   ├── resumebuilder.jsx
│   │   ├── upload.jsx
│   │   ├── Progress.jsx
│   │   ├── Login.jsx
│   │   └── Signup.jsx
│   ├── App.jsx
│   ├── index.js
│   └── main.jsx
├── package.json
├── package-lock.json
├── vite.config.js
└── README.md

🔧 Backend Structure

ai_resume_matcher/backend/
├── manage.py
├── core/
│   ├── settings.py
│   ├── urls.py
│   ├── asgi.py
│   └── wsgi.py
├── apps/
│   ├── users/
│   ├── match/
│   │   └── matching.py
│   ├── jobs/
│   ├── chatbot/
│   ├── resumes/
│   └── training/
├── media/
├── requirements.txt
└── db.sqlite3 (dev)

🧠 Algorithm & Logic

Match Scoring Algorithm

  1. Skill extraction for single‑ and multi‑word skills
  2. Summary relevance and experience weighting
  3. Score breakdown with targeted improvement hints

Interview Chatbot Logic

  1. Adaptive question flow and progress tracking
  2. Keyword‑based answer evaluation with feedback
  3. Suggestions to improve responses
Chatbot Flow

Resume Builder Engine

  1. Dynamic layout and pagination
  2. Section prioritization for impact
  3. Consistent visual hierarchy

💾 Data Models

Profile Model

  • User reference (ForeignKey)
  • Personal info (name, email, phone)
  • Resume sections (summary, skills, education, experience)
  • Social links (LinkedIn, GitHub, website)
  • Resume file & hash (duplicate detection)
  • Current profile flag (Boolean)

User Model (Extended)

  • Standard Django user fields
  • Email verification status
  • Account creation date
  • Last login tracking

HR Questions Model

  • Question ID, text, model answer
  • Category classification, difficulty level

🧪 Installation & Setup

Prerequisites

  • Node.js 18+
  • Python 3.10+
  • PostgreSQL 12+

Frontend

git clone https://github.com/romilmonpara/TalentCraft-careertech-resumebuilder-jobmatcher.git
cd TalentCraft-careertech-resumebuilder-jobmatcher/ai_resume_matcher/frontend
npm install
npm start

Backend

cd ../backend
python -m venv venv
venv\Scripts\activate  # Windows
pip install -r requirements.txt

# .env configuration (create .env in backend root)
# Example keys:
# SECRET_KEY=your-secret
# DEBUG=true
# DB_NAME=resumatch
# DB_USER=postgres
# DB_PASSWORD=postgres
# DB_HOST=localhost
# DB_PORT=5432

python manage.py migrate
python manage.py runserver

🚀 Usage Examples

Sign up / Login

Signup Login

Interview Practice

Chatbot

Special Training

Training

🗺️ Roadmap

  • More job provider APIs (LinkedIn, Indeed, Greenhouse)
  • ML‑assisted skill extraction and semantic scoring
  • Multi‑theme UI (light/dark and high‑contrast)
  • Resume templates marketplace and custom designer
  • Internationalization and localization
  • Docker dev environment and one‑click deploys

🤝 Contributing

We welcome contributions!

  1. Fork the repo
  2. Create a branch: git checkout -b feat/amazing-feature
  3. Commit: git commit -m "feat: add amazing feature"
  4. Push: git push origin feat/amazing-feature
  5. Open a Pull Request

Don’t forget to ⭐ the repo if you find it useful!

🙏 Acknowledgements

📄 License

Licensed under the MIT License. See the LICENSE file for details.


Made with ❤️ for job seekers everywhere
✨ Keep learning, keep shipping, keep growing ✨

About

TalentCraft is a full-stack AI-powered career platform that helps job seekers improve resumes, match with relevant jobs, and prepare for HR interviews. It also offers personalized learning paths with hands-on projects, progress tracking, and skill badges to close gaps and boost career growth.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published