Skip to content

matlanidimple26/CareerDraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CareerDraft

Java Spring Boot React MongoDB Render

Resume Builder & ATS Analysis Platform

CareerDraft is a full-stack web application that enables users to create professional resumes, manage multiple resume versions, and evaluate resume compatibility against job descriptions through ATS-based keyword analysis.


Live Demo

๐ŸŒ Frontend: https://careerdraft-app.onrender.com

โš™๏ธ Backend API: https://careerdraft-backend.onrender.com

๐Ÿ“˜ Swagger Documentation: https://careerdraft-backend.onrender.com/swagger-ui/index.html


Purpose

Many candidates spend significant time creating resumes but often overlook how Applicant Tracking Systems (ATS) evaluate applications before they reach recruiters.

CareerDraft was built to bridge this gap by combining resume creation and ATS analysis into a single platform. Users can build resumes, customize their presentation, and analyze how well their resumes align with specific job descriptions before applying.


Features

  • JWT-based authentication with email verification
  • Multi-resume dashboard for resume management
  • Guided resume builder with live preview
  • Resume download and email sharing
  • ATS analysis using cosine similarity based matching
  • Premium templates and customization through Razorpay integration
  • Interactive API documentation using Swagger

ATS Analysis

The ATS Analyzer compares resume content against a target job description and provides:

  • Matching keywords
  • Missing keywords
  • Resume improvement suggestions

The current implementation uses cosine similarity based text matching to evaluate resume relevance against job requirements.


Tech Stack

Layer Technologies
Frontend React, Vite, Tailwind
Backend Spring Boot, Spring Security, JWT
Database MongoDB Atlas
Integrations Razorpay, Cloudinary, Brevo SMTP
Documentation Swagger OpenAPI
Deployment Render

Architecture

CareerDraft follows a client-server architecture where the React frontend communicates with Spring Boot REST APIs secured using JWT authentication. Resume data is stored in MongoDB Atlas, while Razorpay, Cloudinary, and Brevo SMTP are integrated for payment processing, media management, and email delivery.


Resume Builder Workflow

  1. Register and verify account through email activation.
  2. Create a resume from the dashboard.
  3. Add personal, academic, and professional information.
  4. Preview changes in real time while editing.
  5. Save, update, download, or email the resume.

ATS Workflow

  1. Create or update a resume.
  2. Paste a target job description.
  3. Run ATS analysis.
  4. Review matched and missing keywords.
  5. Improve the resume using generated recommendations.

Screenshots

Landing Page

Landing Page


Login

Login


Resume Builder

Resume Builder


ATS Analysis

ATS Analysis


Premium Upgrade

Premium Upgrade


Swagger Documentation

Swagger Documentation


Local Setup

Clone Repository

git clone https://github.com/matlanidimple26/CareerDraft.git
cd CareerDraft

Frontend Setup

cd resume-builder
npm install
npm run dev

Backend Setup

cd CareerDraft
./mvnw spring-boot:run

Environment Variables

Create an application.properties file or configure the following environment variables before running the application.

# MongoDB
spring.data.mongodb.uri=${MONGO_URI}

# JWT
jwt.secret=${JWT_SECRET}
jwt.expiration=${JWT_EXPIRATION}

# Razorpay
razorpay.key.id=${RAZORPAY_KEY_ID}
razorpay.key.secret=${RAZORPAY_KEY_SECRET}

# Cloudinary
cloudinary.cloud_name=${CLOUDINARY_CLOUD_NAME}
cloudinary.api_key=${CLOUDINARY_API_KEY}
cloudinary.api_secret=${CLOUDINARY_API_SECRET}

# File Upload Limits
spring.servlet.multipart.max-file-size=5MB
spring.servlet.multipart.max-request-size=10MB

# Email Configuration
spring.mail.host=${MAIL_HOST}
spring.mail.port=${MAIL_PORT}
spring.mail.username=${MAIL_USERNAME}
spring.mail.password=${MAIL_PASSWORD}

spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

spring.mail.properties.mail.smtp.from=${MAIL_FROM}

# Application URL
app.base.url=${APP_BASE_URL}

Required Services

Before running the application, configure credentials for:

  • MongoDB Atlas
  • Razorpay
  • Cloudinary
  • Brevo SMTP

Future Improvements

  • Improved ATS scoring accuracy
  • Semantic ATS analysis using NLP techniques
  • Recruiter feedback integration
  • Enhanced mobile responsiveness
  • Improved PDF rendering and export quality

Key Learnings

  • Full-stack application development using React and Spring Boot
  • JWT authentication and authorization
  • REST API design and documentation
  • MongoDB data modeling
  • Third-party service integration
  • Payment gateway integration using Razorpay
  • Cloud deployment and application hosting
  • ATS analysis using cosine similarity

Author

Dimple Matlani

Computer Engineering Student | Full-Stack Developer

About

Full-stack resume builder with ATS analysis using React, Spring Boot, MongoDB, JWT, Razorpay and Swagger.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages