Thanks to visit codestin.com
Credit goes to github.com

Skip to content

debisree/Resumatchpro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

87 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ResuMatch Pro

An AI-powered resume analysis and job matching web application that helps users evaluate and improve their resumes, match them against job opportunities, and plan their career roadmap.

πŸš€ Features

1. Resume Analysis

  • Upload resumes in multiple formats (PDF, DOCX, images via OCR)
  • AI-powered completeness scoring (0-100%)
  • Section-by-section quality ratings (Summary, Education, Experience, Other)
  • Brutally honest, actionable improvement suggestions
  • Zero-hallucination policy: AI suggests improvements without inventing fake metrics

2. Job Matching

  • Two modes: Custom job description OR curated role + location selection
  • AI generates tailored job descriptions for role/location combinations
  • Semantic alignment scoring (0-100%)
  • Gap analysis with severity levels (High/Medium/Low)
  • Interactive gap assessment: Rate your proficiency (None/Basic/Moderate/Advanced)
  • Final AI verdict on whether to apply

3. Tailored Resume Generation

  • ATS-optimized resumes customized for specific jobs
  • Preserves all original sections (Volunteering, Awards, Certifications, etc.)
  • Maintains all contact links (LinkedIn, GitHub, Google Scholar, etc.)
  • Integrates user-confirmed skills from gap assessment
  • Results-driven language enhancement (strong action verbs, impact-oriented)
  • PDF download with dynamic filename: {UserName}_tailored resume.pdf

4. Career Roadmap

  • Personalized career development plans
  • Input: Dream role, location, timeframe (6 months to 2 years)
  • AI analyzes current gaps vs. target role
  • Phased action plans with specific steps
  • Resource recommendations (courses, certifications, books)
  • Milestone tracking

πŸ—οΈ Architecture

Backend (Python Migration in Progress)

  • Framework: FastAPI (async, high-performance)
  • Database: PostgreSQL via SQLAlchemy ORM
  • Authentication: Password-based with bcrypt hashing
  • AI Integration: Google Gemini AI (gemini-2.0-flash-exp model)
  • File Processing:
    • PDF: PyPDF2
    • DOCX: python-docx
    • Images: Tesseract.js OCR
    • Max upload: 10MB

Frontend (React - Unchanged)

  • Framework: React + TypeScript + Vite
  • UI: shadcn/ui components + Tailwind CSS
  • State: TanStack Query (React Query)
  • Routing: Wouter
  • PDF Generation: pdfmake (client-side)

Database Schema

users
β”œβ”€β”€ id (UUID)
β”œβ”€β”€ username
└── password_hash

resumes
β”œβ”€β”€ id (UUID)
β”œβ”€β”€ user_id (FK β†’ users)
β”œβ”€β”€ filename
β”œβ”€β”€ filesize
β”œβ”€β”€ mime_type
β”œβ”€β”€ extracted_text
└── created_at

analyses
β”œβ”€β”€ id (UUID)
β”œβ”€β”€ resume_id (FK β†’ resumes)
β”œβ”€β”€ completeness_score (0-100)
β”œβ”€β”€ completeness_rationale
β”œβ”€β”€ section_scores (JSON)
β”œβ”€β”€ suggestions (JSON array)
└── created_at

job_matches
β”œβ”€β”€ id (UUID)
β”œβ”€β”€ resume_id (FK β†’ resumes)
β”œβ”€β”€ job_description
β”œβ”€β”€ job_role (nullable)
β”œβ”€β”€ job_location (nullable)
β”œβ”€β”€ alignment_score (0-100)
β”œβ”€β”€ alignment_rationale
β”œβ”€β”€ gaps (JSON array)
β”œβ”€β”€ strengths (JSON array)
β”œβ”€β”€ gap_responses (JSON array)
β”œβ”€β”€ final_verdict
β”œβ”€β”€ should_apply (boolean)
β”œβ”€β”€ tailored_resume_content
└── created_at

career_roadmaps
β”œβ”€β”€ id (UUID)
β”œβ”€β”€ user_id (FK β†’ users)
β”œβ”€β”€ resume_id (FK β†’ resumes)
β”œβ”€β”€ dream_role
β”œβ”€β”€ dream_location
β”œβ”€β”€ timeframe
β”œβ”€β”€ current_gaps (JSON array)
β”œβ”€β”€ skills_to_acquire (JSON array)
β”œβ”€β”€ action_plan (JSON array)
β”œβ”€β”€ resources (JSON array)
β”œβ”€β”€ milestones (JSON array)
└── created_at

πŸ”§ Setup & Installation

Prerequisites

  • Python 3.11+
  • PostgreSQL database
  • Gemini API key

Environment Variables

Create a .env file with:

DATABASE_URL=postgresql://user:password@host:port/database
SESSION_SECRET=your-secret-key-change-in-production
GEMINI_API_KEY=your-gemini-api-key

Installation

  1. Install Python dependencies:
pip install -r python_requirements.txt

Or on Replit, packages are auto-installed.

  1. Set up database: The application will auto-create tables on first run using SQLAlchemy.

  2. Run the application:

# Development mode
uvicorn python_backend.main:app --reload --host 0.0.0.0 --port 8000

# Production mode
uvicorn python_backend.main:app --host 0.0.0.0 --port 8000
  1. Build React frontend (if needed):
npm install
npm run build

πŸ“ Project Structure

resumatch-pro/
β”œβ”€β”€ python_backend/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ main.py              # FastAPI app entry point
β”‚   β”œβ”€β”€ config.py            # Configuration & environment variables
β”‚   β”œβ”€β”€ models.py            # SQLAlchemy database models
β”‚   β”œβ”€β”€ database.py          # Database session management
β”‚   β”œβ”€β”€ auth.py              # Authentication utilities
β”‚   β”œβ”€β”€ file_processor.py    # File upload & text extraction
β”‚   β”œβ”€β”€ gemini_service.py    # Gemini AI integration
β”‚   └── routes/              # API route handlers (to be created)
β”‚       β”œβ”€β”€ auth.py
β”‚       β”œβ”€β”€ resumes.py
β”‚       β”œβ”€β”€ analyses.py
β”‚       β”œβ”€β”€ job_matches.py
β”‚       └── career_roadmaps.py
β”œβ”€β”€ client/
β”‚   └── src/
β”‚       β”œβ”€β”€ App.tsx          # React app & routing
β”‚       β”œβ”€β”€ pages/           # Page components
β”‚       β”œβ”€β”€ components/      # Reusable UI components
β”‚       └── lib/             # Utilities & API client
β”œβ”€β”€ attached_assets/         # User-uploaded files & generated content
β”œβ”€β”€ python_requirements.txt  # Python dependencies
β”œβ”€β”€ package.json             # Node.js dependencies
└── README.md

πŸ” Authentication

  • Username + Password authentication
  • Passwords hashed with bcrypt (cost factor 12)
  • Session-based authentication with secure cookies
  • Registration endpoint: POST /api/auth/register
  • Login endpoint: POST /api/auth/login
  • Logout endpoint: POST /api/auth/logout

πŸ€– AI Integration

Gemini AI Features

  • Model: gemini-2.0-flash-exp (latest Flash model)
  • Structured Output: JSON schema enforcement
  • Zero-Hallucination Policy: Never invents metrics or data
  • Brutally Honest Feedback: Identifies weak language, buzzwords, missing metrics
  • Results-Driven Language: Transforms passive statements into impact-oriented achievements

API Endpoints (Planned)

Authentication

  • POST /api/auth/register - Create new account
  • POST /api/auth/login - Login with username/password
  • POST /api/auth/logout - Logout
  • GET /api/auth/me - Get current user

Resumes

  • POST /api/resumes - Upload resume (multipart/form-data)
  • GET /api/resumes - Get user's resumes
  • GET /api/resumes/{id} - Get specific resume

Analyses

  • POST /api/analyses - Analyze a resume
  • GET /api/analyses/{resume_id} - Get analysis for resume

Job Matches

  • POST /api/job-matches - Create job match analysis
  • GET /api/job-matches/{resume_id} - Get job matches for resume
  • PATCH /api/job-matches/{id}/responses - Submit gap proficiency responses
  • POST /api/job-matches/{id}/tailored-resume - Generate tailored resume

Career Roadmaps

  • POST /api/career-roadmaps - Generate career roadmap
  • GET /api/career-roadmaps - Get user's career roadmaps

🎨 Frontend Pages

  • Landing Page: Simple username/password login
  • Dashboard: Resume upload and management
  • Resume Analysis: AI analysis results with scores and suggestions
  • Job Match Input: Custom JD or role+location selection
  • Job Match Results: Alignment scores, gaps, strengths, recommendations
  • Career Roadmap: Dream role form and career guidance

πŸ“ Migration Notes

From Node.js to Python

  • βœ… SQLAlchemy models match existing PostgreSQL schema
  • βœ… UUID primary keys preserved
  • βœ… All JSONB columns supported
  • βœ… Authentication upgraded from username-only to username+password
  • βœ… Gemini AI service ported with identical prompts
  • βœ… File processing pipeline (PDF, DOCX, OCR) reimplemented
  • 🚧 FastAPI routes in progress
  • 🚧 Session management setup
  • 🚧 React frontend integration

Database Compatibility

  • Existing data preserved (users, resumes, analyses, job_matches, career_roadmaps)
  • Schema unchanged - seamless migration
  • Add password_hash column to users table for existing users

πŸ§ͺ Testing

(To be implemented)

  • Unit tests for AI service
  • Integration tests for API endpoints
  • E2E tests with Playwright

🚒 Deployment

The application is designed to run on Replit with:

  • Auto-managed PostgreSQL database
  • Environment secrets management
  • One-click deployment

πŸ“„ License

Proprietary - All rights reserved

🀝 Contributing

This is a private project. Contact the owner for collaboration opportunities.

πŸ“ž Support

For issues or questions, please contact the project maintainer.


Built with ❀️ using FastAPI, React, and Gemini AI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors