Skip to content

Architecture

The architecture is pretty simple. We the the following components:

  • the json file
  • the python pre-processor
  • the LaTeX engine
sequenceDiagram
    participant JSON as JSON File
    participant Python as Python Pre-processor
    participant LaTeX as LaTeX Engine (XeLaTeX)
    participant PDF as Output PDF

    Note over JSON,PDF: Resume Generation Process

    JSON->>Python: Send user data
    activate Python
    Note over Python: Validate JSON schema
    Note over Python: Process user data
    Python->>LaTeX: Generate LaTeX file
    deactivate Python

    activate LaTeX
    Note over LaTeX: Read generated LaTeX file
    LaTeX->>LaTeX: Compile using XeLaTeX
    LaTeX->>PDF: Generate PDF resume
    deactivate LaTeX

    Note over PDF: Final resume document ready

The json file

The json file is the input to the system. It contains all the information about the user. The json file follows a custom schema. You can find the schema & the details about the fields in the schema file.

The python pre-processor

The python pre-processor is responsible for reading the json file, processing the data, and generating the LaTeX file. This is the core of the system.xw

Find the source code for the python pre-processor here.

The LaTeX engine

The LaTeX engine is responsible for generating the resume from the LaTeX file generated by the python pre-processor. The LaTeX engine uses the XeLaTeX compiler to generate the PDF file.

Find more about the LaTeX engine here.

Find the source code for the LaTeX template here.