-
Notifications
You must be signed in to change notification settings - Fork 43
[FEATURE] AI Interview-Resume Upload & Basic Parsing #119
Copy link
Copy link
Open
Labels
Medium30 Points30 PointsSWOCIssue available for contributors participating in Social Winter of Code (SWOC).Issue available for contributors participating in Social Winter of Code (SWOC).SWoC26Social Winter of Code 2026Social Winter of Code 2026backendBackend relatedBackend relatedgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed
Description
Metadata
Metadata
Assignees
Labels
Medium30 Points30 PointsSWOCIssue available for contributors participating in Social Winter of Code (SWOC).Issue available for contributors participating in Social Winter of Code (SWOC).SWoC26Social Winter of Code 2026Social Winter of Code 2026backendBackend relatedBackend relatedgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed
📝 Description
Add backend functionality to upload and parse candidate resumes (PDF/TXT) to extract key information like name, role, skills, and experience. This extracted data will be used to personalize AI-generated interview questions based on the candidate's background.
🎯 Goal
When completed, users should be able to upload their resume, and the system will automatically extract relevant information and store it for generating personalized interview questions.
📋 Tasks
POST /api/interviews/upload-resumeendpointInterviewCandidatemodel in Prisma schemapdf-parselibrary for PDF text extraction📁 Files to Modify
server/routes/interviews.js(create new)server/prisma/schema.prisma(add InterviewCandidate model)server/index.js(register new route)server/package.json(add pdf-parse dependency)💡 Hints
multermiddleware setup fromserver/routes/upload.jsas referencenpm i pdf-parsethenimport pdfParse from 'pdf-parse'server/middleware/auth.jsfor authentication middleware usageid,userId,name,role,skills(String[]),yearsOfExperience,resumeUrl,parsedData(Json),createdAt🏷️ Difficulty