GitHunt
AA

Aaisha-Nexus/Resume_Analyzer

Resume Analyzer is a C++ tool that reads resumes, matches them with required skills, ranks them using heaps based on experience and skill relevance, and displays top candidates—all through a menu-driven console interface.

Resume Analyzer

📌 Project Overview

Resume Analyzer is a console-based C++ application developed as a Data Structures & Algorithms (DSA) project to automate the resume screening process. It reads multiple resume files, tokenizes their content, and ranks them based on matched skills and experience scores. By leveraging efficient data structures like max-heaps and hash maps, this system reduces manual effort, improves accuracy, and ensures fair candidate evaluation.


🚀 Features

  • Reads resumes dynamically from .txt files
  • Tokenizes and normalizes text for consistent analysis
  • Matches resume keywords against user-defined skills
  • Calculates experience scores based on keywords and institute weight
  • Uses two max-heaps to:
    • Rank resumes by matched skills
    • Rank resumes by experience score
  • Displays:
    • Full resume content
    • Best matched resume based on skills
    • Top N resumes based on experience

🧰 Technologies & Concepts

  • Language: C++
  • Data Structures:
    • Priority Queue (Max-Heap)
    • Unordered Map
    • Set
    • Vector
  • Text Processing:
    • Tokenization
    • Case normalization
    • Cleaning special characters
  • File Handling:
    • Reads from external .txt files (e.g., resume1.txt, resume2.txt, etc.)
    • Ensures proper error handling and validation


🚀 How to Use

  1. Prepare resumes: Place resume files named resume1.txt, resume2.txt, ..., in the data/ folder.
  2. Compile the program: Use your preferred C++ compiler to compile main.cpp along with the other source files. For example:

Languages

C++100.0%

Contributors

Created June 3, 2025
Updated June 13, 2025