Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Resume Analyzer Pro

A modern, AI-powered resume analysis application built with React frontend and Flask backend. Get intelligent insights and recommendations to optimize your resume for better job opportunities.

Features

  • AI-Powered Analysis: Uses OpenAI GPT-4 for intelligent resume analysis
  • PDF Processing: Advanced PDF text extraction using PyMuPDF
  • Modern UI: Beautiful React frontend with Tailwind CSS and Framer Motion
  • Drag & Drop: Easy file upload with drag and drop functionality
  • Responsive Design: Works perfectly on desktop, tablet, and mobile
  • Real-time Feedback: Get instant analysis and recommendations
  • LinkedIn Integration: Pull LinkedIn profiles (coming soon)

Tech Stack

Frontend

  • React 18 - Modern React with hooks
  • Tailwind CSS - Utility-first CSS framework
  • Framer Motion - Smooth animations and transitions
  • React Router - Client-side routing
  • Axios - HTTP client for API calls
  • React Dropzone - File upload with drag and drop
  • Lucide React - Beautiful icons

Backend

  • Flask - Python web framework
  • OpenAI GPT-4 - AI-powered analysis
  • PyMuPDF - PDF text extraction
  • Python-dotenv - Environment variable management
  • gunicorn - Python development web framework

Installation

Prerequisites

  • Node.js (v16 or higher)
  • Python (v3.8 or higher)
  • npm or yarn

Backend Setup

  1. Clone the repository and navigate to it

    git clone <repository-url>
    cd group_project_python

    repository-url is https://github.com/ChrisAnz19/group_project_python.git

  2. Create a virtual environment

    Choose either conda or python to create your virutal environment.

    conda create -n group_project_python python=3.11 # create new environment in cond
    conda activate group_project_python # activate the environment in conda
    python -m venv group_project_python # create virtual environment in python
    source group_project_python/bin/activate  # activate virutal envrionment in python (On Windows: group_project_python\Scripts\activate)
  3. Install Python dependencies

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

    OPENAI_API_KEY=your_openai_api_key_here

    See section on Configuration for further details on how to set up the file.

  5. Run the Flask backend

    FLASK_APP=web_app FLASK_RUN_PORT=5001 flask run --host=localhost   

    The backend will run on http://localhost:5001

Frontend Setup

  1. Install Node.js dependencies

    npm install
  2. Start the React development server

    npm start

    The frontend will run on http://localhost:3000

Usage

  1. Open the application in your browser at http://localhost:3000

  2. Choose your input method:

    • Upload PDF: Drag and drop or click to upload a PDF resume
    • Paste Text: Copy and paste your resume text directly
  3. Get analysis: The AI will analyze your resume and provide recommendations for:

    • Education section
    • Experience section
    • Skills section
    • General formatting and optimization
  4. Review results: View detailed feedback and actionable recommendations

Testing

While at the root directory, use the following command to run the tests:

pytest # find all Python tests and run them
npm test -- --watchAll=false # find and run all JS tests

Configuration

Environment Variables

Create a .env file in the root directory with the following variables:

# OpenAI API Key for GPT-4 analysis
OPENAI_API_KEY=sk-your-openai-api-key

# Flask configuration
FLASK_ENV=development
FLASK_DEBUG=True

API Endpoints

The Flask backend provides the following endpoints:

  • POST /result - Analyze resume text
  • POST /result_pdf - Analyze uploaded PDF file
  • GET / - Home page
  • GET /about - About page
  • GET /trending-jobs - Trending Jobs page
  • GET /leadership - Leadership page

Customization

Styling

The application uses Tailwind CSS for styling. You can customize the design by:

  1. Modifying tailwind.config.js for theme customization
  2. Updating src/index.css for custom styles
  3. Changing component styles in individual React components

Deployment

Frontend Deployment

  1. Build the production version:

    npm run build
  2. Deploy the build folder to your hosting service (Netlify, Vercel, etc.)

Backend Deployment

  1. Deploy the Gunicorn
OPENAI_API_KEY=your_openai_api_key_here gunicorn --bind 0.0.0.0:5001 "web_app:app" # binds to all 5001 ports 
  1. Update the proxy configuration in package.json to point to your deployed backend URL

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages