Skip to content

J-e-i/Resume-skillExtractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume Skill Extractor API

A beginner-friendly, clean Python FastAPI project designed to extract common technical skills from resume text. This is a perfect student portfolio project that demonstrates natural language processing (using spaCy) and RESTful API development without the overhead of databases or authentication.

Features

  • FastAPI backend that provides automatic, interactive API documentation.
  • spaCy NLP integration to match and extract technical skills.
  • Standard JSON REST API architecture.
  • Containerized via Docker for easy deployment on Railway.

Setup Instructions

1. Local Setup and Installing Dependencies

First, ensure you have Python 3.8+ installed. It is highly recommended to use a virtual environment.

# Clone or navigate to the project directory
cd resume-skill-extractor

# (Optional) Create and activate a virtual environment
python -m venv venv
# On Windows:
venv\Scripts\activate
# On Mac/Linux:
source venv/bin/activate

# Install the Python dependencies
pip install -r requirements.txt

# Download the required spaCy English NLP model
python -m spacy download en_core_web_sm

2. Running the App locally

Once the dependencies are installed, you can start the application using uvicorn:

uvicorn app:app --reload

The application will now be running at http://127.0.0.1:8000.

3. Testing with Swagger

FastAPI includes an interactive documentation interface powered by Swagger UI.

  1. Open your browser and navigate to: http://127.0.0.1:8000/docs
  2. You will see both the GET / and POST /extract-skills endpoints.
  3. Click on the /extract-skills endpoint and click Try it out.
  4. Inside the request body box, enter the following JSON:
    {
      "resume_text": "I know Python, SQL, Machine Learning and Docker"
    }
  5. Click Execute.
  6. The API should respond with:
    {
      "extracted_skills": [
        "docker",
        "machine learning",
        "python",
        "sql"
      ]
    }

Deploying on Railway

This project includes a Dockerfile specifically designed to be easily deployed on Railway.

  1. Create a GitHub repository and push this project's code to it.
  2. Sign up or log into Railway.
  3. Click "New Project" and select Deploy from GitHub repo.
  4. Choose your new repository.
  5. Railway will automatically detect the Dockerfile and build your image.
  6. Railway automatically provides the $PORT environment variable which the Dockerfile uses via the start command:
    uvicorn app:app --host 0.0.0.0 --port ${PORT}
  7. Once the build deployment is complete, generate a domain in Railway's network settings. You can now access your API globally!

About

This extracts the skills from your resume

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors