Skip to content

A tool for automatically making CV using Latex and Java.

Notifications You must be signed in to change notification settings

Danial-Kord/Latex-CV-Builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Latex CV Builder

Automative PDF CV builder using LaTex.

About The Project

Having a CV is required as it gives you a chance to show a prospective employer or professor the best of what you've got. LaTex is a fantastic typesetting program that a lot of people use these days for making an appropriate CV. However, making a CV is a time consuming action.
This application will generate the Tex commnads, compile it and finally generate PDF output in an automated way!
You only need to send a HTTP request to the application and add a Json data to the body of your request and the rest is with the application!

Logo

How to Use

Follow these steps to run the program.

prerequirements

LaTex compiler should be installed on your device.

  1. Install LaTex by following the instruction at this link
  2. Install JDK 11 using following command (for Unix users), Or simply visit the Oracle website.
sudo apt-get install openjdk-11-jdk
  1. Install Maven.
sudo apt install maven
  1. For testing the application having Postman installed is recommended.

Usage

  1. Clone the repository

    git clone https://github.com/your_username_/Project-Name.git
  2. at the root of the application run the following command

    mvnw clean package

    or

    mvn clean package
  3. Now a folder with the name of target is created. Copy CVModel1 folder to target folder.

  4. Go to the created target folder and run the application with the following command.

    java -jar CVBuilder-0.0.1-SNAPSHOT.jar
  5. Open Postman application and create a GET request, in the URL part type http://localhost:8080/pdfGenerator.
    Select Body choose raw option and use JSON instead of Text. Finaly pasete the Json template below and click Send.

    {
    "profile_summary":"He is the Best!",
    "name":"Danial",
    "familyName":"Kordmodanlou",
    "fullname":"Danial Kordmodanlou",
    "github":"github.com",
    "linkedin":"linkedin.com",
    "blog":"blog.com",
    "phone":"+60136105176",
    "email":"[email protected]",
    "education":[{
    "institutionName": "Amirkabir University of Technology (AUT)",
    "degree": "Bachelor",
    "field": "Computer Engineering",
    "GPA": 3.7,
    "country": "Country",
    "city": "City",
    "entranceYear": "2017",
    "graduateYear": "2022"
    }],
    "work_experiences":[{
    "jobPosition": "Intern",
    "company": "IAESTE",
    "country": "Country",
    "city": "City",
    "startingYear": "2021",
    "finishingYear": "2022"
    },
    {
    "jobPosition": "Intern",
    "company": "SEPANTA",
    "country": "Country",
    "city": "City",
    "startingYear": "2019",
    "finishingYear": "2020"}],
    "project_experiences":[{
    "title": "DigiHuman",
    "projectFor": "Thesis project",
    "country": "Country",
    "city": "City",
    "startingYear": "2021",
    "finishingYear": "2022",
    "linkURL": "Google.com",
    "description": "My Thesis project. A computer vision based project using Pose estimation methods for animation 3D characters." 
    },
    {
    "title": "DigiHuman",
    "projectFor": "Thesis project",
    "country": "Country",
    "city": "City",
    "startingYear": "2021",
    "finishingYear": "2022",
    "linkURL": "Google.com",
    "description": "My Thesis project. A computer vision based project using Pose estimation methods for animation 3D characters."
    }],
    "languages":[{
     "title": "English",
     "reading": 3,
     "writing": 5,
     "speaking": 2,
     "listening": 1
     },
     {
     "title": "Persian",
     "reading": 3,
     "writing": 5,
     "speaking": 2,
     "listening": 1
     }],
    "certificates":[{
    "title": "Coursera AI Course",
    "institute": "General Adverserial Networks (GANs)",
    "date": "2021" }],
    "publications":[{
    "title": "My Thesis",
    "releaseDate": "Jun 2020",
    "authors": "Danial k.",
    "publication": "Proceedings of the 2020 Artificial Intelligence Conference",
    "ISBN": "pp. 10--18" 
    }],
    "honors":[{
    "title": "Country RoboCup Competetion",
    "description": "Worked on Open Weight football-playing robots and became 4th amongst 32 competitors.",
    "date": "2015"
    }],
    "skills":[{
    "title": "C#",
    "level": 2
    },
    {
    "title": "Java",
    "level": 5
    }],
    "references":[{
    "name": "Dr. Who",
    "jobTitle": "Professor",
    "companyName": "Amirkabir University of Technology (AUT)",
    "phoneNumber":"+981234567",
    "emailAddress":"[email protected]" 
    },
    {
    "name": "Dr. Who",
    "jobTitle": "Professor",
    "companyName": "Amirkabir University of Technology (AUT)",
    "phoneNumber":"+981234567",
    "emailAddress":"[email protected]"}],
    "QAs":[{
    "question": "Why did you chose IAESTE?",
    "answer": "Cause I have big dreams!"}
    ,{
    "question": "How did you get familiar with IAESTE?",
    "answer": "My friend who had experience with IAESTE internship encouraged me to attened IAESTE exam."
    }]}
  6. After doing the last part you will receive a response declaring the place of your CV as Pdf file.

  7. Enjoy!

Use other CV templates

  1. Place your CV template requirements (all fonts and .sty files) in a folder in the root of the application besides CVModel1
  2. Create a new Java Class by inheriting LatexCVGenerator class.
  3. Follow the same pattern like AcademicCVType1 class.(exp: specify the Directory field with the name of the folder in step 1, add each section of your Tex file scheme in the overrided methods.
  4. Finally use your custom class in the PdfGenerator method at CvBuilderApplication class.

About

A tool for automatically making CV using Latex and Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published