Web resume builder with seamless deployment to AWS CloudFront, backed by Terraform. Users can opt in for their own domain name and ACM certificate. Additionally, users can choose to be notified when application errors occur. The CI/CD pipeline for multi-environment deployment is implemented using GitHub Actions and Terraform Workspaces.
- Install the dependencies:
yarn install
- Start a development server:
yarn serve
The backend infrastructure has two environments: staging
and prod
. To limit the cloud infrastructure to a single AWS account, the environments are represented by two AWS Regions:
-
A
staging
(test-resume.nickdemianchuk.com
/us-east-2
) deployment is triggered by opening a Pull Request againstmain
branch. -
A
prod
(resume.nickdemianchuk.com
/us-east-1
) deployment is triggered by pushing a commit intomain
branch, which occurs when a PR is merged.
This strategy allows for testing of new features by deploying changes to staging
environment prior to merging the code into main
.
The backend infrastructure for the application consists of an S3 bucket for the source files and a CloudFront distribution. Additionally, users can opt in for a custom domain and ACM certificate (a pre-existing hosted zone is required).
You can clean up the AWS infrastructure by using the Terraform Destroy workflow. When running, you can select an environment to destroy.