The following repo is the source code to my personal website intended to be the main area where people can get to know me and my past experiences, and is able to generate a DOCX of my resume for me.
Feel free to look around the source.
NOTE: I will not be approving pull requests as everything is subject to change at any moment.
The major key technologies and dependencies for the website are:
- Flask
- Docker
- DigitalOcean
- AWS Route53
- Requests
- Python-Dotenv
- Python-Docx
- Gunicorn
- PyTest
A series of GitHub actions are triggered upon pull request to the master branch and once more during the final merge into master.
The workflow consists of:
- Pulling and installing all dependencies.
- Testing Python unit tests with the popular PyTest package.
- Tests my Python resume generation.
- Tests Dockerfile build of image.
- Pushing the code to DigitalOcean. (Now handled by DigitalOcean's SaaS platform.)
The deployment of the website is hosted on DigitalOcean, as alluded to earlier.
After a successful merge to the master branch, the code gets pushed to DigitalOcean, built within a Docker image, and ran on top of Gunicorn to handle requests.
Within my website application, I created a resume builder which will take JSON files written under the ../website/resources directory and parse a list of respective objects to be placed within each sub-heading of my resume using the python-docx package.
This workflow allows me to only worry about updating each JSON file within the resources folder and have my website automatically generate the latest version of my resume without me having to deal with opening and editing a DOCX file.
It has already saved me hours of work, allows me to make quick changes to the content of the document on any device, (Laptop, Desktop, Phone, etc.), and share my updated resume by referencing https://santosderek.com/resume.
