Skip to content

Production-ready full stack Resume Builder application built with React and Spring Boot, featuring JWT authentication, MongoDB, Razorpay payment integration, Cloudinary image uploads, email verification, and PDF resume generation.

Notifications You must be signed in to change notification settings

RustamPoonia/Resume-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status

🚀 ResumeCraft – Resume Builder Backend API

Backend-focused project showcasing real-world authentication, subscription, and payment workflows.

A backend-focused Resume Builder system designed to handle secure authentication, resume management, subscription-based access, payments, cloud storage, and email workflows.

Built to understand and implement real-world backend architecture and business logic, beyond basic CRUD applications.


🛠️ Technologies Used




📌 Project Overview

This project implements the backend of a Resume Builder application, focusing on secure user management, resume CRUD operations, and subscription-based feature access.

Users can create and manage resumes, upload images, unlock premium features through payments, and share resumes via email — all handled through secure and well-structured REST APIs.


🚀 Features

🔐 Authentication & Security

  • User registration and login
  • JWT-based authentication and authorization
  • Email verification with token and expiry
  • Secure access to protected endpoints

📝 Resume Management

  • Create, update, fetch, and delete resumes
  • Structured resume sections (profile, education, skills, projects, experience, etc.)
  • Ownership checks to ensure users access only their data

💼 Subscription & Payment Model

  • Free and paid subscription plans
  • Premium resume features restricted to paid users
  • Secure payment workflow:
    • Order creation
    • Payment verification
    • Automatic subscription upgrade

☁️ Cloud & Email Services

  • Image uploads using Cloudinary
  • Resume thumbnails and profile image handling
  • Email verification and resume sharing with PDF attachments

🔗 Important API Endpoints

🔑 Authentication

POST /api/auth/register POST /api/auth/login GET /api/auth/verify-email

📝 Resume

POST /api/resumes GET /api/resumes GET /api/resumes/{id} PUT /api/resumes/{id} DELETE /api/resumes/{id}

💳 Payments

POST /api/payments/create-order POST /api/payments/verify GET /api/payments/history

📧 Email

POST /api/email/send-resume


📘 API Documentation (Swagger)

This project uses Swagger / OpenAPI for interactive API documentation.

Once the application is running, Swagger UI is available at:

http://localhost:8080/swagger-ui/index.html

🔐 Authorization in Swagger

  1. Call Login API to get JWT token
  2. Click Authorize
  3. Enter: Bearer

🧱 Backend Architecture

controller → request handling service → business logic repository → database access security → JWT & authorization dto → request / response models exception → global error handling


🔐 Configuration

Configure sensitive values using environment variables or application.properties:

spring.data.mongodb.uri=
jwt.secret=
cloudinary.api.key=
cloudinary.api.secret=
razorpay.key.id=
razorpay.key.secret=
spring.mail.username=
spring.mail.password=

🎯 Why This Project

This project was built to move beyond basic CRUD applications and understand how real backend systems handle authentication, payments, subscriptions, and secure data access.

👨‍💻 Author

Rustam Poonia Backend Developer | Java & Spring Boot

⭐ If you find this project useful, feel free to star the repository.



About

Production-ready full stack Resume Builder application built with React and Spring Boot, featuring JWT authentication, MongoDB, Razorpay payment integration, Cloudinary image uploads, email verification, and PDF resume generation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages