Skip to content

Latest commit

 

History

History
311 lines (230 loc) · 8.64 KB

File metadata and controls

311 lines (230 loc) · 8.64 KB

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.