A Flask app that aims to ease the process of making a resume in LaTeX by allowing the user to input the required data and generate a properly formatted and clean resume.
The project includes authorisation process, generates the TEX file, serves the TEX file (hashed URL) for compilation process by a third-party API (latexonline.cc).
The website is deployed here.
-
Fork the repository and then clone the repository locally. Type the following command/s in the terminal.
git clone https://github.com/<YOUR USERNAME>/resumake.git
-
Navigate to the app directory. Type the following command/s in the terminal.
cd resumake
-
Create a new virtual environment and install the required Python modules. Type the following command/s in the terminal.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
-
Create 'env.json' file and enter the following environment variables in the file.
{ "SECRET_KEY": "<YOUR SECRET KEY>", "DATABASE": "db.sqlite", "BASE_URL": "<YOUR BASE URL>" }
Here,
- SECRET_KEY: This is used to sign session cookies of your Flask app.
- DATABASE: This is the name of your SQLite database. It will be stored in the 'instance' directory of your app.
- BASE*URL: This is needed during the compilation part of the app. Note, the compilation part won't work until the app is running locally. Deploy the app online as the TEX file is served by the app and the 'https://latexonline.cc/' API fetches the data and returns the compiled PDF.
-
Create 'resumake/hash.py' file and define a method 'get_hash'.
''' Returns the hash of the userid. ''' def get_hash(userid): # YOUR CODE HERE return hashed_userid
-
Export the Flask environment variables. Type the following command/s in the terminal.
export FLASK_APP=resumake
export FLASK_ENV=development
Note, don't export 'FLASK_ENV' as 'development' while deploying the application. -
Initialise the database. This creates a new SQLite database file in the instance directory. Type the following command/s in the terminal.
flask init-db
-
Run the app. Type the following command/s in the terminal.
flask run