This project is holds the infrastructure and content to host my personal site via AWS S3 and Cloudfront.
Folders:
infra
contains the cloudformation templates used for deploying the infrastructuresrc
root directory for the dynamic website contentstatic
root directory for the static website contentdist
transpiled webpage assets- created when
npm start
ornpm run build
execute
- created when
scripts
locally and ci executable scripts for deployment and validation
- AWS
- AWS CLI
- Cloudformation
- npm/node
- 11ty (Eleventy)
- Bulma
Getting set up
npm install
Local live testing
# launches browserstack @ http://localhost:3001
# launches local copy @ http://localhost:8080
npm run start
Build
# clears the dist folder and re-creates the assets
npm run build
Deploy
# Requires active AWS session
# Requires that a specific hosted zone already be created with specific stack outputs
# Hardcoded to look for an CFN export value to get hosted zone
# Uses aws cli to deploy the bucket, bucket policy, cloudfront, OAI, certificate, & associated DNS entry
./infra/deploy-infra.sh
# Requires active AWS session
# Requires deploy-infra already ran
# Hardcoded to look for an CFN export value to get bucket arn
# Runs npm ci and build
# Uses aws s3 sync to deploy
./scripts/deploy-site.sh
Creating QR Codes
npx qrcode --output static/img/qr_resume_01.png https://shadow.mkoelle.com/resume/01
- Data Completion (enough for single page)
- Data Completion (enough for CV)
- Single Page Resume Template
- Automated Visual Regression Testing
- Applicant Tracking System (ATS) Scan
- Cloudfront Pretty URLS
- Github Actions
- Quality Checks
- Deployment
All about that style
Get it in print