Added frontend deploy #64
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a complete setup for hosting a frontend application on AWS, including deployment scripts, Terraform modules, and configurations. The changes encompass the deployment pipeline, Terraform resource definitions, and output configurations to enable seamless integration with AWS services such as S3 and CloudFront.
Deployment Pipeline Enhancements:
scripts/actions/deploy_frontend.bashto automate the frontend deployment process. It builds the Flutter web application, uploads files to an S3 bucket, and invalidates the CloudFront cache for immediate updates.Terraform Configuration Updates:
terraform/modules/frontend_hosting) to provision AWS resources for frontend hosting, including an S3 bucket, CloudFront distribution, and related policies.frontend_hostingmodule into the main Terraform configuration (terraform/main/main.tf) to enable frontend hosting with API routing via CloudFront.Output Management:
terraform/main/outputs.tfto expose essential details like the frontend URL, S3 bucket name, and CloudFront distribution ID for deployment scripts.terraform/modules/frontend_hosting/outputs.tfto provide resource identifiers for the S3 bucket and CloudFront distribution.Variable Definitions:
terraform/modules/frontend_hosting/variables.tffor project name and API base URL to ensure flexibility and reusability of the module.