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!
Follow these steps to run the program.
LaTex compiler should be installed on your device.
- Install LaTex by following the instruction at this link
- Install JDK 11 using following command (for Unix users), Or simply visit the Oracle website.
sudo apt-get install openjdk-11-jdk
- Install Maven.
sudo apt install maven
- For testing the application having Postman installed is recommended.
-
Clone the repository
git clone https://github.com/your_username_/Project-Name.git
-
at the root of the application run the following command
mvnw clean package
or
mvn clean package
-
Now a folder with the name of
target
is created. CopyCVModel1
folder totarget
folder. -
Go to the created
target
folder and run the application with the following command.java -jar CVBuilder-0.0.1-SNAPSHOT.jar
-
Open Postman application and create a GET request, in the URL part type
http://localhost:8080/pdfGenerator
.
SelectBody
chooseraw
option and useJSON
instead ofText
. 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." }]}
-
After doing the last part you will receive a response declaring the place of your CV as Pdf file.
-
Enjoy!
- Place your CV template requirements (all fonts and .sty files) in a folder in the root of the application besides
CVModel1
- Create a new Java Class by inheriting
LatexCVGenerator
class. - 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. - Finally use your custom class in the PdfGenerator method at
CvBuilderApplication
class.