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.