Skip to content
Simonezo edited this page Jun 13, 2016 · 8 revisions

Curriculum Vitae Manager

Web application for creating curriculum vitae, storing it in XML and transforming into LaTeX

Brief description

This web application provides users with possibility to easily create their own nice structured CV. The application allows to create user profile, due to it the user can manage his information for the CV. He can fill, remove or change these information any time he wants. Further it is possible to download the CV either in English or Slovak translation of static parts (headlines, subheadlines and so on) as a PDF file.

Used technologies

The project is developed in JAVA. It provides users with possibility to create his profile make a CV, save it into XML which is stored in database. Further it is possible to translate parts of CV into English, transform it into LaTex and generate PDF file from it.

Backend description

User can register to the application and their login data are save in PostgreSQL. User authentication is provided by Spring Security. After log in the application user can create his curriculum vitae by filling the create CV form. Data from the form are persisted in XML files by user's name. Afterwards the user can edit his CV anytime. XML changes are managed as DOM. The user has the possibility to download his CV as PDF document. Before download, the XML file is transformed to a LaTex document with special template and the pdf document is generated, this is done thanks to XSLT technology which also translates static phrases as headlines and so on into English or Slovak. PDF document is genarated from Tex Document by calling of external LaTex compiler and the document is then send to the user as stream of bytes. The frontend of the application is implemented using JSP. The frontend provides for the user the possibility to switch between many languages of the main elements of his CV.

Frontend description

Frontend is made with JSP and JSP Standard Tag Library(JSTL). I have used bootstrap framework for development of responsive and good looking web application. In addition I made some custom css styles as well as some scripts for buttons (add new group of elements). I have also used JQuery, bootstrap.js and some free-to-use fonts. Every page is made in two language variants - English and Slovak.

Authors and Contributors

@NorbertFabian

  • Implement entities
  • Implement Create Update Delete XML CV
  • Implement Controllers

@OndrejZeman

  • Implement login - Spring Security
  • Implement registration

@DavidOsicka

  • Create XSLT script (from XML to LaTeX)
  • Implement service for using the XSLT script
  • Implement download as PDF
  • implement translation of static phrases in XSLT

@SimonPavlik

  • User Interface
  • JSP and JSTL
  • Translations
  • JSP Update page