Resume Builder using Spring Boot, Thymeleaf & MongoDB
For latest details please switch to development branch
Resume Builder is a web application that allows users to create and manage their resumes online. It provides a user-friendly interface for creating, editing, and downloading resumes in PDF format. The application utilizes technologies such as Java, Thymeleaf, Spring Boot, and iText for HTML to PDF conversion.
-
User Registration: Users can create an account to access the application.
-
Resume Creation: Users can create a new resume by filling out a form with their personal information, projects, work experience, and skills.
-
Resume Editing: Users can edit their existing resumes, update information, add or remove sections.
-
HTML to PDF Conversion: The application uses iText to convert the resume HTML content into PDF format.
-
Download Resume: Users can download their resumes in PDF format to their local devices.
-
Visibility Settings: Users can manage the visibility of sections on their resume, such as hiding skills or contact information.
-
Logging: The application logs incoming requests to endpoints and provides helpful information for debugging and analysis.
-
Admin Panel: Administrators have access to an admin panel with additional privileges.
- Grant/Revoke Admin Privileges: Administrators can grant or revoke admin privileges for other users.
- Ban/Unban Users: Administrators can ban or unban users, restricting or restoring their access to the application.
- View User Resume: Administrators can view any user's Resume. (They can't see any data user has chosen to hide on their visibility settings)
-
Java 21
-
iText
-
MongoDB
-
Thymeleaf
-
Spring Boot 3
-
Spring Security 6
-
Firebase Storage
- Clone the repository
git clone https://github.com/sefaunal/ResumeBuilder.git
- Navigate to the project directory:
cd ResumeBuilder
- Switch to development branch
git checkout development
MongoDB & Firebase Storage needs to be configured before you can start using ResumeBuilder Application.
ResumeBuilder uses MongoDB as its database. Application.yaml has already been configured. If you don't have it installed you can download it from here.
You may need this for editing data on the database directly so i strongly suggest having this installed on your local environment as well. You can download the application from here.
ResumeBuilder Application uses Firebase for storing images like profile pictures & project photos.
To configure Firebase Storage:
-
Create a new project from Firebase Console.
-
Go to Project Settings -> Service Accounts -> Firebase Admin SDK -> Generate new private key.
-
Replace src/main/resources/cloud/firebase.json with your downloaded JSON file. Keep in mind that it should be named as "firebase.json".
-
Enable Firebase Storage.
-
From src/main/java/com/sefaunal/resumebuilder/Utils/ImageUtils.java change the following field's value with your own Bucket Address.
private static final String BUCKET_NAME = "resumebuilder-f10a4. appspot.com";
If you would like to access admin panel you will need to:
-
Run the project.
-
Access the application via browser from http://localhost:8080/
-
Create an account
-
Change user's role to 'ADMIN' from MongoDB Compass