Skip to content

This project is a CV Builder API built using Java Spring Boot and JPA Hibernate. The system allows users to create and manage their CVs, including sections and content within those sections.

Notifications You must be signed in to change notification settings

wastech/cv-builder-api

Repository files navigation

CV/Resume Generation App

Overview

This project is a CV Builder API built using Java Spring Boot and JPA Hibernate. The system allows users to create and manage their CVs, including sections and content within those sections. The project is designed to be scalable and flexible, allowing for customization through templates.

CV Management System Database Schema

Image

Technologies Used

  • Java Spring Boot: For building the RESTful API.
  • JPA Hibernate: For ORM (Object-Relational Mapping) and database interactions.
  • PostgreSQL: For the database to store user, CV, section, section content, and template data.
  • Spring Security: For securing the application with authentication and authorization mechanisms.

Getting Started

Prerequisites

  • Java Development Kit (JDK) 17 or higher.
  • Maven 3.8.6 or higher.
  • PostgreSQL database.

Setup Instructions

Prerequisites

Ensure you have the following installed:

1. Clone the Repository

git clone https://github.com/wastech/cv-builder-api.git
cd cv-builder-api

Configure the Database:

Update the application.properties or application.yml file with your PostgreSQL database credentials.

Build the Project:

mvn clean install

Run the Application:

mvn spring-boot:run

Key Features

1. User Profile Management

  • Profile Creation: Enable users to create and manage profiles with details like name, contact information, and job title.
  • Multiple CV/Resume Versions: Allow users to save and manage multiple CV versions for different job applications.
  • Template Selection: Offer a range of customizable templates (e.g., Classic, Modern, Minimalistic).

2. Content Sections Customization

  • Personal Information: Include details like name, phone, email, LinkedIn profile, and website.
  • Professional Summary: A concise summary of the user’s background and key skills.
  • Work Experience: Add job titles, company names, locations, dates, and descriptions of responsibilities and achievements.
  • Education: List institutions, degrees, fields of study, and graduation dates.
  • Skills Section: Add both soft and hard skills relevant to the user’s profession.
  • Projects: List projects with descriptions, technologies used, and links (e.g., GitHub, live URL).
  • Certifications and Awards: Add recognitions, certifications, or awards.
  • Languages: List languages and proficiency levels.
  • References: Option to include references or indicate availability upon request.

3. Customizable Design Options

  • Font and Color Options: Change fonts, colors, and sizes.
  • Section Reordering: Rearrange sections with drag-and-drop functionality.
  • Margin and Spacing Adjustment: Control padding, margins, and line spacing.
  • Visual Elements: Add or remove borders, dividers, or icons.

4. Download and Export Options

  • PDF Export: Generate and download CVs/resumes as PDF files.
  • File Naming: Customize file names based on template, job title, etc.
  • Printable Versions: Ensure PDFs are print-ready.

5. Saving and Storage

  • Save Drafts: Allow users to save drafts for later editing.
  • Cloud Storage: Securely store user data and drafts.

6. Analytics and Insights

  • Views and Engagement Metrics: Track views of shared links.

7. Security and Privacy

  • Data Encryption: Ensure all user data is securely encrypted.
  • GDPR Compliance: Provide data export or deletion options to meet privacy regulations.
  • User Authentication: Secure login options, potentially with two-factor authentication.

With these features, the app offers a comprehensive and intuitive experience, allowing users to create high-quality, professional CVs tailored to their needs.

Maven Dependencies

  • Spring Boot Starter
  • Spring Boot Starter Data JDBC
  • Spring Boot Starter Data JPA
  • Spring Boot Starter Test
  • Mockito Core
  • Spring Boot Starter Validation
  • Spring Boot Starter Web
  • Cloudinary HTTP 44
  • PostgreSQL
  • Lombok
  • ModelMapper
  • Spring Boot Starter Security
  • SpringDoc OpenAPI Starter WebMVC UI
  • JJWT API
  • Spring Boot Starter Mail
  • JJWT Implementation
  • JJWT Jackson

Swagger

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

About

This project is a CV Builder API built using Java Spring Boot and JPA Hibernate. The system allows users to create and manage their CVs, including sections and content within those sections.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published