Skip to content

An advanced Applicant Tracking System (ATS) integrating OCR-based resume parsing, candidate analytics, and scalable microservices architecture to streamline recruitment and talent acquisition processes.

License

Notifications You must be signed in to change notification settings

adarshkr357/advanced-ats-software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced ATS Software

This project is an advanced Applicant Tracking System (ATS) designed to streamline and optimize recruitment processes. It leverages modern technologies for OCR-based resume parsing, advanced resume verification, candidate analytics, and more, all built on a scalable microservices architecture.

Advanced Features

  • OCR & Resume Parsing:
    Utilize OpenCV and Tesseract to extract and analyze text from resumes. Advanced parsing techniques, including NLP (with spaCy/Hugging Face), extract candidate details accurately.

  • Candidate Analytics:
    Analyze and score resumes based on skills, experience, and other relevant factors to help HR teams quickly identify top candidates.

  • Integrated HR Workflow:
    Support for candidate tracking, interview scheduling, and communication, all integrated within a unified platform.

  • Scalable Microservices Architecture:
    Designed to scale with Docker and Kubernetes, allowing for independent scaling of OCR processing, verification logic, and analytics modules.

  • Full-Stack Integration:
    A modern FastAPI backend serves both API endpoints and static frontend assets, while a responsive HTML/JavaScript frontend provides a seamless user experience.

Project Structure

advanced-ats-software/
├── backend/
│   ├── app/
│   │   ├── __init__.py              # Package initializer
│   │   ├── main.py                  # FastAPI app entry point, mounts static files and includes API routes
│   │   ├── routes.py                # API endpoints (e.g., /evaluate)
│   │   ├── ocr.py                   # OCR processing using OpenCV and Tesseract
│   │   ├── resume_verification.py   # Advanced resume parsing and verification logic
│   │   └── models/
│   │       ├── __init__.py          # Models package initializer
│   │       ├── resume.py            # Pydantic model for resume data
│   │       └── user.py              # Pydantic model for user data
│   ├── requirements.txt             # Backend Python dependencies
│   └── Dockerfile                   # Dockerfile for containerizing the backend
├── frontend/
│   ├── index.html                   # Main HTML interface for resume upload and candidate evaluation
│   ├── js/
│   │   └── app.js                   # JavaScript for handling file uploads and API calls
│   └── css/
│       └── styles.css               # Basic styling for the frontend
├── docker-compose.yml               # Docker Compose configuration to orchestrate backend (and other services)
├── README.md                      # Project documentation (this file)
└── .gitignore                     # Git ignore file to exclude unnecessary files

Technology Stack

  • Backend:

    • Language: Python 3.x
    • Framework: FastAPI
    • Asynchronous Server: Uvicorn
    • Modules: OpenCV, Tesseract (pytesseract), spaCy/NLP libraries
    • Data Storage: PostgreSQL and MongoDB (for structured and unstructured data)
    • Containerization: Docker, Docker Compose, Kubernetes (planned for production)
  • Frontend:

    • HTML/CSS/JavaScript: Basic responsive design for file uploads and result display
    • Static Assets: Served via FastAPI's static file integration

Setup and Installation

Locally

  1. Backend Setup:

    • Navigate to the backend directory:
      cd backend
    • Install dependencies:
      pip install -r requirements.txt
    • Run the backend server with Uvicorn:
      uvicorn app.main:app --host 0.0.0.0 --port 5000 --reload
    • The backend and static frontend will be accessible at http://localhost:5000.
  2. Frontend:

    • The frontend files in the frontend folder are served automatically by FastAPI at the root URL.

Using Docker Compose

  1. Build and Run:
    • From the project root, run:
      docker-compose up --build
    • This command builds the backend container and starts the service on port 5000.

Future Enhancements

  • Advanced NLP Integration:
    Enhance resume parsing with transformer models for semantic matching and candidate scoring.

  • User Management & Authentication:
    Implement user registration, login, and role-based access for HR teams.

  • Analytics Dashboard:
    Build an interactive dashboard for recruiters to visualize candidate data and analytics.

  • Integration with External HR Systems:
    Connect with third-party HR tools and job boards for seamless data exchange.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Feel free to fork this repository and submit pull requests for new features or bug fixes. Please ensure that you follow the established code style and include tests for any new functionality.

About

An advanced Applicant Tracking System (ATS) integrating OCR-based resume parsing, candidate analytics, and scalable microservices architecture to streamline recruitment and talent acquisition processes.

Topics

Resources

License

Stars

Watchers

Forks