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.