Skip to content

Nehalk670/RML

Repository files navigation

Resume Screening Platform - Full Stack Application

A comprehensive AI-powered resume screening and job matching platform with real authentication, database integration, resume parsing, and AI-powered job matching.

๐Ÿš€ Features

For Candidates

  • Real Resume Parsing: Upload PDF/DOCX resumes with actual text extraction and analysis
  • AI-Powered Scoring: Get detailed ATS compatibility scores based on parsed content
  • Job Fit Analysis: Compare your resume against job descriptions using semantic similarity
  • Skill Gap Analysis: Identify missing skills and experience gaps with AI recommendations
  • Interview Simulator: Practice with Hugging Face-powered realistic interview questions
  • Database Storage: All resume data and match results are stored securely

For Recruiters

  • Real Job Matching: Create job postings and get AI-powered candidate matching
  • Bulk Resume Processing: Upload up to 50 resumes with real parsing and analysis
  • Accurate Match Scoring: Semantic similarity-based matching with detailed breakdowns
  • Comprehensive Results: Tabular view with candidate details, skills, and match percentages
  • Red Flag Detection: Identify employment gaps, job hopping, and other concerns
  • CSV Export: Export all candidate analysis results

Authentication & Database

  • Real Authentication: Secure login/signup with bcrypt password hashing
  • OAuth Integration: Google and LinkedIn OAuth with Supabase Auth
  • Database Integration: PostgreSQL with Supabase for data persistence
  • Duplicate Prevention: Email validation and duplicate account prevention
  • Session Management: Secure session handling with automatic redirects

๐Ÿ› ๏ธ Tech Stack

  • Frontend: React 18, TypeScript, Tailwind CSS
  • Database: Supabase (PostgreSQL) with Row Level Security
  • Authentication: Supabase Auth with bcrypt password hashing
  • Resume Parsing: PDF.js for PDF parsing, custom text extraction
  • AI/NLP: Semantic similarity matching, skill extraction algorithms
  • File Upload: Real file processing with validation
  • OAuth: Google and LinkedIn integration via Supabase

๐Ÿ“ฆ Installation

  1. Clone the repository

    git clone <repository-url>
    cd resume-screening-platform
  2. Install dependencies

    npm install
  3. Set up Supabase

    • Create a new Supabase project at https://supabase.com
    • Copy your project URL and anon key
    • Run the migration in the Supabase SQL editor
  4. Set up environment variables

    # Copy .env.example to .env and fill in your values
    cp .env.example .env
  5. Start the development servers

    npm run dev
  6. Open your browser

๐Ÿ—๏ธ Project Structure

resume-screening-platform/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ LandingPage.tsx        # Main landing page
โ”‚   โ”‚   โ”œโ”€โ”€ Login.tsx              # Login page
โ”‚   โ”‚   โ”œโ”€โ”€ Signup.tsx             # Signup page with OAuth
โ”‚   โ”‚   โ”œโ”€โ”€ CandidateDashboard.tsx # Candidate main dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ RecruiterDashboard.tsx # Recruiter main dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ BulkResumeUpload.tsx   # Bulk resume processing
โ”‚   โ”‚   โ””โ”€โ”€ InterviewSimulator.tsx # AI interview practice
โ”‚   โ”œโ”€โ”€ context/
โ”‚   โ”‚   โ””โ”€โ”€ AuthContext.tsx        # Authentication state management
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ””โ”€โ”€ supabase.ts            # Supabase client and types
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ”œโ”€โ”€ resumeParser.ts        # Real resume parsing logic
โ”‚   โ”‚   โ”œโ”€โ”€ jobMatcher.ts          # AI job matching algorithms
โ”‚   โ”‚   โ””โ”€โ”€ huggingface.ts         # Hugging Face API integration
โ”‚   โ”œโ”€โ”€ App.tsx                    # Main app component with routing
โ”‚   โ””โ”€โ”€ main.tsx                   # App entry point
โ”œโ”€โ”€ supabase/
โ”‚   โ””โ”€โ”€ migrations/
โ”‚       โ””โ”€โ”€ 001_initial_schema.sql # Database schema
โ”œโ”€โ”€ server.js                      # Express backend server
โ”œโ”€โ”€ tailwind.config.js             # Tailwind with purple theme
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ README.md

๐Ÿ—„๏ธ Database Schema

Tables

  • users: User accounts with authentication data
  • resumes: Parsed resume data and metadata
  • job_postings: Recruiter job postings
  • job_matches: Candidate-job match results

Security

  • Row Level Security (RLS) enabled on all tables
  • Users can only access their own data
  • Secure authentication with Supabase Auth

๐Ÿค– AI Features

Resume Parsing

  • PDF Extraction: Real PDF text extraction using PDF.js
  • DOCX Support: Document parsing with text extraction
  • Data Extraction: Name, email, phone, skills, experience, education
  • Skill Recognition: Advanced skill detection from resume text

Job Matching

  • Semantic Similarity: Advanced text matching algorithms
  • Skill Matching: Precise skill overlap analysis
  • Experience Gap Detection: Identify missing experience requirements
  • Scoring Algorithm: Multi-factor scoring with weighted components

Interview Simulator

  • Hugging Face Integration: Real AI-powered question generation
  • Context Awareness: Questions based on resume and job description
  • Real-time Feedback: AI analysis of candidate responses

๐Ÿ” Authentication Features

Secure Registration

  • Password Hashing: bcrypt with salt rounds for security
  • Duplicate Prevention: Email uniqueness validation
  • User Types: Separate candidate and recruiter flows
  • OAuth Support: Google and LinkedIn integration

Session Management

  • Supabase Auth: Secure session handling
  • Automatic Redirects: Role-based dashboard routing
  • Persistent Sessions: Remember user login state
  • Secure Logout: Complete session cleanup

๐ŸŽฏ Key Improvements

Real Data Processing

  • Actual Resume Parsing: No more mock data - real PDF/DOCX processing
  • Database Persistence: All data stored in PostgreSQL via Supabase
  • Accurate Matching: Semantic similarity algorithms for job matching
  • Real Authentication: Secure login with password hashing and OAuth

Enhanced User Experience

  • Error Handling: Comprehensive error messages and validation
  • Loading States: Real-time feedback during processing
  • Data Validation: File type checking and content validation
  • Responsive Design: Works perfectly on all devices

๐Ÿš€ Deployment

Environment Setup

  1. Set up Supabase project with authentication enabled
  2. Configure OAuth providers (Google, LinkedIn)
  3. Run database migrations
  4. Set environment variables

Build and Deploy

  1. npm run build - Build the frontend
  2. Deploy to your preferred hosting platform
  3. Configure environment variables in production
  4. Set up domain and SSL certificates

๐Ÿ”ฎ Future Enhancements

Advanced AI Features

  • Better NLP Models: Integration with more advanced language models
  • Sentiment Analysis: Analyze resume tone and presentation
  • Skill Recommendations: AI-powered career path suggestions
  • Automated Screening: Advanced candidate filtering algorithms

Platform Enhancements

  • Video Interviews: AI-powered video interview analysis
  • Mobile App: React Native mobile application
  • Analytics Dashboard: Advanced recruiting analytics
  • Integration APIs: Connect with popular ATS systems

๐Ÿงช Testing

Current Implementation

  • Real resume parsing with PDF.js and custom algorithms
  • Actual database operations with Supabase
  • Secure authentication with bcrypt and OAuth
  • Semantic job matching with similarity algorithms

Testing Strategy

  • Unit tests for parsing and matching algorithms
  • Integration tests for database operations
  • End-to-end tests for user flows
  • Security testing for authentication

Built with โค๏ธ using React, TypeScript, Supabase, and real AI-powered features

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published