yashdew / assessor Goto Github PK
View Code? Open in Web Editor NEWAn open-source Resume Analyzer and Ranking tool for recruiters and candidates.
Home Page: http://assessor.vercel.app/
License: MIT License
An open-source Resume Analyzer and Ranking tool for recruiters and candidates.
Home Page: http://assessor.vercel.app/
License: MIT License
Problem Statement
Resume PDF file should be parsed in such a way that the algorithm can easily differentiate for a different entity like name, phone numbers, email, links, Education background, Experience background, skills, hobbies, achievements, projects and certification etc.
Steps to follow
for reference purposes, you can test the backend on postman here: LINK Just do a POST request.
How to contribute
check out the api/ directory of repo and follow the docs
Final form should look like this
[
{
"personal_details": {
"name": "Yash Dewangan",
"email": "[email protected]",
"mobile_number": "8602842290"
},
"skills": [
"Pandas",
"Coding",
"C",
"Flask",
"Css",
"Java",
"C++",
"Django",
"Rest",
],
"education": [
"SMT. KASHIBAI NAVALE COLLEGE OF ENGINEERING
BE in Information Technology
2018-2022 | Pune, MH
Cum. GPA: 8.14",
],
"experience": [
"eQ Technologic | Software Engineer Intern
Aug 2021 – Present
Implemented various services/APIs needed for new features required in the latest release
Learnt about SOA architecture, modular coding i.e. keeping future use in mind
Implementation of concepts such as Tagging Entities and Groups/User Authorization & Permissions for Entities
Worked on Backend technologies such as Spring and Java with SQL Server as Database"
],
"no_of_pages": 1,
"links": {
"linkedin": "https://www.linkedin.com/in/iyashdewangan/",
"leetcode": "https://leetcode.com/Yashdew/",
"codechef": "https://www.codechef.com/users/yashdew",
"codeforces": "http://codeforces.com/profile/yashdewangan123456",
"github": [
"https://github.com/Yashdew/Attendance-Tracker",
"https://github.com/Yashdew",
"https://github.com/SkSumit/Chatistics"
],
"others": [
"mailto:[email protected]",
"https://www.spoj.com/users/yashdew/",
"https://attendancesknhc.herokuapp.com/",
"https://chatistics.vercel.app/",
"https://auth.geeksforgeeks.org/user/yashdewangan123456/practice/"
]
},
"total_experience": 0.17,
"projects": [
"CHATISTICS
GitHub Live URL
Dec 2020 - Feb 2021
An open-source WhatsApp chats analyser and statistics.
Application, which provides various meaningful insights.
Time complexity reduces from 20 seconds. to 5 seconds.
Used Flask for implementing backend REST APIs with firebase database for analysis of traffic.
Pandas for data pre-processing.
Used NextJS and Bulma UI for frontend.
500+ users and 30 stars on GitHub.",
"ATTENDANCE-TRACKER
GitHub Live URL
July 2020 – Aug 2020
A full-stack web application for monitoring the attendance in Microsoft Teams from logs file of the meeting. (Sample)
Optimization of code took around 3 seconds in Data pre-processing.
Worked on building the major backend part and frontend.
Used Flask for implementing Backend and HTML, CSS & JS for frontend.
Used Mongo DB and Google sheet API for Database.
Data pre-processing of large logs files for calculating time stamps of students using pandas
50+ users in our college."
],
"achievements": [
"Codechef - Maximum rating 1603 (3-star).",
"Codechef – March Lunchtime 2021 Div-3, secured a rank of 825 out of 7000+ participants.",
"Leetcode – 150+ Solved Questions.",
"250+ Solved Questions on GFG, Codechef, SPOJ and Codeforces.",
"Participated in Google kickstart 2021 Round A, Round C & Round D.",
"Secured 1st rank out of 30+ participants in Scaler Edge Apex 2021. (SKN Edition)",
"Represented Hack Club SKN projects in Hack Club Asia Summit 2021.",
"Participated in more than 30+ coding competitions."
],
"hobbies": [
"Photography and Video editing",
"Traveling and exploring new places.",
"Gaming"
]
}
]
The FileUpload.jsx deals with the uploading one or more Resume files in the PDF format.
The function uploadFiles()
(line 17) is used for uploading the files to the required server endpoint.
The task is to validate the format and the size of the Resume file and call the POST Request API only if the ALL the files being uploaded are valid.
The Resume file is valid only if
Surround the code with error handling statements in order to ensure that application doesnt break due to any exceptions during runtime.
Create an endpoint for posting Job Description
Create an endpoint in api/resume/routes.py
Strictly name it /api/v1/postJD take a reference from already created endpoint /api/v1/postResume
Method will be a POST request
So first from the frontend we will be sending a Formdata object using JS so you've to parse that and set it into a variable following proper naming conventions
So to parse form data we use request.form.get() in python
Also keep the naming conventions the same as Data Name given in the table
Data Validation, preprocessing and error handling of all the attributes
For skills section user will send comma-separated or space-separated string Example :- "C++, Java, Python" or "C++ Java Python" you need to separate these out by using data extraction techniques and create a list of strings like ["C++" , "Java" , "Python"]
And finally if there's any error handle it properly using best error handling practices.
Create a JSON object of all the attributes
Example Final form should look like this
[
{
"job_summary": {
"company_name": "Persistant Systemps",
"designation": "Software Development Engineer",
"experience": "0-2 Years",
"location": "Pune",
"job_preference_remote": "Yes",
"skills": [
"C++",
"Flask",
"Css",
"Java",
],
"job_description": "We are looking for a Software Engineer to join our growing Engineering team and build
out the next generation of our platform. The ideal candidate is a hands-on platform builder with
significant experience in developing scalable data platforms. We’re looking for someone with
experience in business intelligence, analytics, data science and data products. They must have strong,
firsthand technical expertise in a variety of configuration management and big data technologies and
the proven ability to fashion robust scalable solutions that can manage large data sets. They must be at
ease working in an agile environment with little supervision. This person should embody a passion for
continuous improvement and test-driven development.",
}
]
This uploading file component does not handle HTTP errors.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.