This project is a Node.js application that uses OpenAI's GPT model to generate job descriptions and provides a profile matching feature for job candidates.
- Job Description Generator: Generates detailed job descriptions based on provided parameters using OpenAI's GPT model.
- Profile Matcher: Rates and sorts candidate profiles based on their match percentage with a given job description.
Before you begin, ensure you have met the following requirements:
- You have installed Node.js and npm (Node Package Manager).
- You have an OpenAI API key.
To install the project, follow these steps:
- Clone the repository:
git clone https://github.com/yourusername/ai-job-description-generator.git
- Navigate to the project directory:
cd ai-job-description-generator
- Install the dependencies:
npm install
- Create a
.env
file in the root directory and add your OpenAI API key:OPENAI_API_KEY=your_openai_api_key_here
To use the application, follow these steps:
- Start the server:
npm start
- The server will start running on
http://localhost:3000
.
Send a POST request to http://localhost:3000/api/generate-job-description
with a JSON body like this:
{
"industry": "Technology",
"experience": "5+ years",
"role": "Senior Software Engineer",
"skills": ["Problem-solving", "Team leadership"],
"technical": ["JavaScript", "Node.js", "React", "MongoDB"],
"soft": ["Communication", "Teamwork"],
"other": "Ability to work in a fast-paced environment"
}
Send a POST request to http://localhost:3000/api/rate-profiles
with a JSON body like this:
{
"jobPost": {
"industry": "Technology",
"experience": "5",
"role": "Software Engineer",
"skills": ["Problem-solving", "Team leadership"],
"technical": ["JavaScript", "Node.js", "React"],
"soft": ["Communication", "Teamwork"]
},
"profiles": [
{
"id": 1,
"name": "John Doe",
"yearsOfExperience": "7",
"skills": ["Problem-solving", "Project management"],
"technicalSkills": ["JavaScript", "Python", "React", "Node.js"],
"softSkills": ["Communication", "Teamwork", "Adaptability"]
},
{
"id": 2,
"name": "Jane Smith",
"yearsOfExperience": "4",
"skills": ["Critical thinking", "Time management"],
"technicalSkills": ["Java", "C++", "SQL"],
"softSkills": ["Leadership", "Creativity"]
}
]
}
To contribute to the project, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b main
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch
- Create the pull request.
Alternatively, see the GitHub documentation on creating a pull request.
If you want to contact me, you can reach me at aman-raj.xyz
.