Skip to content

AI-powered job matching platform that intelligently connects candidates with opportunities using advanced semantic matching and provides actionable feedback

License

Notifications You must be signed in to change notification settings

pranam-s/SamarthAI

Repository files navigation

Samarth - AI-Powered Job Matching Platform

License: MIT Python Version FastAPI

Intelligently connecting talent with opportunity using advanced AI.

Samarth is an AI-powered job matching platform developed for the Execute 4.0 Hackathon at DTU (Delhi Technical University). The platform uses advanced semantic matching algorithms to connect job seekers with the right opportunities and provides actionable feedback to improve application success rates.

Job Matching Platform

Features

For Job Seekers

  • Resume upload and AI-powered analysis
  • Personalized job recommendations
  • Detailed match analysis with job postings
  • Resume improvement suggestions
  • Application tracking

For Recruiters

  • Intelligent job posting creation
  • Automatic candidate ranking and filtering
  • In-depth match analytics
  • Market analysis for skill trends
  • Candidate pipeline management

Quick Start with Docker

The simplest way to run the application is using Docker:

# Clone the repository
git clone <your-repository-url>
cd job-matching-platform

# Build and start the Docker containers
docker-compose up -d

# Access the application at http://localhost:8000

Manual Installation

Prerequisites

Setup

  1. Clone the repository

    git clone <your-repository-url>
    cd job-matching-platform
  2. Create a virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Set up environment variables Create a .env file in the project root with the following variables:

    GEMINI_API_KEY=your_gemini_api_key
    SECRET_KEY=a_secret_key_for_jwt
    
  5. Run the application

    python main.py
  6. Access the application Open your browser and navigate to http://localhost:8000

Project Structure

├── api.py                 # API endpoints
├── core/                  # Core configuration
│   ├── config.py          # Application settings
│   └── security.py        # Authentication logic
├── db/                    # Database
│   └── database.py        # Database connection
├── models.py              # Database models
├── schemas.py             # Data validation schemas
├── services.py            # Business logic services
├── ui.py                  # UI routes and handlers
├── main.py                # Application entry point
├── templates/             # Jinja2 templates
│   ├── auth/              # Authentication templates
│   ├── dashboard/         # Dashboard templates
│   ├── resumes/           # Resume templates
│   ├── jobs/              # Job templates
│   ├── applications/      # Application templates
│   ├── analysis/          # Analysis templates
│   └── base.html          # Base template
├── static/                # Static files
│   ├── css/               # CSS files
│   ├── js/                # JavaScript files
│   └── img/               # Images
├── uploads/               # Uploaded resume files
├── requirements.txt       # Python dependencies
├── Dockerfile             # Docker configuration
└── docker-compose.yml     # Docker Compose configuration

API Documentation

The API documentation is available at /docs or /redoc when the application is running.

Key Endpoints

  • /api/v1/auth/register - Register a new user
  • /api/v1/auth/login - Login and get access token
  • /api/v1/resumes - Resume management
  • /api/v1/jobs - Job management
  • /api/v1/applications - Application management
  • /api/v1/match - Match resumes to jobs
  • /api/v1/recommendations/{resume_id} - Get job recommendations
  • /api/v1/market-analysis - Get market analysis data

Tech Stack

  • Backend: FastAPI, SQLAlchemy, Pydantic
  • Frontend: Jinja2, TailwindCSS, DaisyUI, Alpine.js, Chart.js
  • AI: Google Gemini Pro
  • Database: SQLite (can be scaled to PostgreSQL)
  • Authentication: JWT

License

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

About

AI-powered job matching platform that intelligently connects candidates with opportunities using advanced semantic matching and provides actionable feedback

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published