Skip to content

itisar-345/ATS-Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ATS-Checker

Build Status License


Overview

ATS-Checker is an AI-powered resume analysis tool designed to help job seekers optimize their resumes for Applicant Tracking Systems (ATS). The system analyzes uploaded resumes, provides a compatibility score, and offers actionable improvement suggestions to increase the chances of passing ATS filters.

πŸ” Key Features

  • πŸš€ AI-Powered Resume Analysis

    • Upload your resume in .docx, .pdf, or .txt.
    • Get an overall ATS compatibility score with category-wise breakdown (formatting, keywords, experience, etc.).
  • 🎯 Detailed ScoreCard

    • Visual and color-coded score representation.
    • Category feedback including status (Excellent, Needs Work, Critical).
  • πŸ’‘ AI-Generated Improvement Suggestions

    • Grouped by category with titles, descriptions, rationale.
    • Before vs After code-style display for clarity.
    • Expandable sections for focused insights.
  • πŸ“œ Resume History Management

    • Stores past resume analyses locally in your browser.
    • Features include:
      • Search
      • Sort (by date, score, or name)
      • Mark as Favorite ⭐
      • Export suggestions as downloadable text reports
      • Delete individual entries or clear all history
  • πŸ“ˆ Analytics & Metrics

    • Shows average score, highest score, and total resume count in sidebar.
  • 🎨 Interactive & Responsive UI

    • Fully responsive layout with animated background.
    • Tabbed interface (Upload / Analysis).
    • Dynamic toast notifications with Sonner.
  • πŸ›‘οΈ Secure & Private

    • Runs locally without storing data on servers.
    • No third-party tracking or cloud data retention.
  • ⚑ Built with Modern Stack

    • React + Vite frontend
    • Express backend with Groq SDK for AI analysis
    • Uses Lucide, Sonner, Date-fns, and Dropzone for enhanced UX

Project Structure

ATS-Checker/
β”œβ”€β”€ backend/               # Backend API server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ index.js       # Main server entry point
β”‚   β”‚   β”œβ”€β”€ services/      # Business logic for resume analysis and suggestions
β”‚   β”‚   └── utils/         # Utility functions
β”‚   β”œβ”€β”€ package.json       # Backend dependencies and scripts
β”‚   └── .env               # Environment variables (not committed)
β”œβ”€β”€ frontend/              # Frontend React application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components (Index, NotFound)
β”‚   β”‚   β”œβ”€β”€ services/      # API service calls
β”‚   β”‚   └── utils/         # Utility functions (localStorage, file parsing)
β”‚   β”œβ”€β”€ package.json       # Frontend dependencies and scripts
β”‚   └── vite.config.js     # Vite configuration
β”œβ”€β”€ README.md              # This documentation file
└── .gitignore             # Git ignore rules

Backend Setup and Usage

Prerequisites

  • Node.js (version 16 or higher recommended)
  • npm (comes with Node.js)

Step 1: Navigate to Backend Directory

Open your terminal and change directory to the backend folder:

cd backend

Step 2: Install Dependencies

Install the required Node.js packages:

npm install

Step 3: Configure Environment Variables

Create a .env file in the backend directory to set environment variables. For example:

PORT=4000

You can add other environment variables as needed for API keys or configurations.

Step 4: Start the Backend Server

Run the backend server with:

npm start

The server will start and listen on the port specified in .env or default to 4000.

Backend API Endpoints

  • POST /api/analyze-resume

    Analyze resume text for ATS compatibility.

    • Request Body:

      {
        "resumeText": "Your resume text here"
      }
    • Response:

      {
        "score": {
          "overallScore": 85,
          "categories": {
            "formatting": 90,
            "keywords": 80,
            "experience": 85
          }
        }
      }
  • POST /api/resume-suggestions

    Get improvement suggestions for the resume.

    • Request Body:

      {
        "resumeText": "Your resume text here"
      }
    • Response:

      {
        "suggestions": [
          "Add more relevant keywords",
          "Improve formatting for better readability"
        ]
      }
  • POST /api/parse-file

    Parse uploaded resume files (DOCX, TXT).

    • Request: Multipart form data with 'file' field

    • Response:

      {
        "text": "Extracted resume text content"
      }

Frontend Setup and Usage

Prerequisites

  • Node.js (version 16 or higher recommended)
  • npm (comes with Node.js)

Step 1: Navigate to Frontend Directory

Open your terminal and change directory to the frontend folder:

cd frontend

Step 2: Install Dependencies

Install the required Node.js packages:

npm install

Step 3: Start the Development Server

Run the frontend development server with:

npm run dev

This will start the React app and open it in your default browser at http://localhost:3000 (or another port if 3000 is in use).

Using the Frontend Application

  • Upload Resume: Use the "Upload Resume" tab to upload your resume file or paste resume text.
  • View Analysis: After uploading, switch to the "Analysis Results" tab to see your ATS compatibility score and detailed category breakdown.
  • Improvement Suggestions: View AI-generated suggestions to improve your resume.
  • History Sidebar: Access your past resume analyses, reload them, or delete entries.
  • Responsive UI: The app is designed to work well on various screen sizes.

Available Scripts

Backend Scripts

  • npm start
    Starts the backend Express server.

  • npm test
    Placeholder for running backend tests (not implemented).

Frontend Scripts

  • npm run dev
    Starts the frontend development server with hot module replacement.

  • npm run build
    Builds the frontend for production deployment.

  • npm run preview
    Previews the production build locally.

  • npm run lint
    Runs ESLint to check code quality and style.


License

This project is licensed under the ISC License.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors