Skip to content

🏷️ Upgrade to v1.0.1 with infrastructure project and UI improvements#11

Merged
volcodes merged 21 commits intomainfrom
staging
Apr 19, 2025
Merged

🏷️ Upgrade to v1.0.1 with infrastructure project and UI improvements#11
volcodes merged 21 commits intomainfrom
staging

Conversation

@volcodes
Copy link
Copy Markdown
Owner

@volcodes volcodes commented Apr 18, 2025

Release v1.1.0

This release includes several significant improvements to the portfolio application:

New Features

  • Added AWS Infrastructure project showcasing Terraform, CI/CD pipelines, and cloud architecture skills
  • Implemented consistent button naming across all project sections
  • Enhanced project image display with responsive sizes and optimized loading

Improvements

  • Updated Matrix Background with smoother animations and gradient effects
  • Standardized project link styling and icons for better user navigation
  • Optimized image loading with proper sizing attributes to prevent layout shifts
  • Resolved mixed content warning on contact form by updating form submission to use HTTPS
  • Fixed achievement images not displaying in production environment
  • Implemented environment-aware image path resolution to ensure images work in both development and production

Technical Changes

  • Added Terraform code for AWS infrastructure deployment
  • Implemented WebP image format conversion for faster loading
  • Fixed CSS inconsistencies across mobile and desktop views
  • SSL/TLS & Domain Configuration
  • Fixed SSL certificate configuration to include all domains (volcode.org, www.volcode.org, staging.volcode.org)
  • Updated CloudFront distribution aliases to match certificate domains
  • Added DNS configuration for Namecheap (CNAME records for subdomains, URL redirect for apex domain)

Version: v1.0.0 → v1.1.0

Testing

  • Verified SSL certificate validation for all domains
  • Confirmed contact form submission works without mixed content warnings
  • Validated image loading in all environments (local, staging, production)

Deployment Notes:

  • No database migrations required
  • Terraform changes will apply to both staging and production environments
  • All AWS resources remain within free tier limits

* feat(infra): Enhance infrastructure setup with Terraform and CI/CD integration

- Add Terraform configuration for AWS resources including S3, CloudFront, and IAM
- Implement GitHub Actions workflow for automated deployment to staging and production
- Update README with project overview and infrastructure details
- Extend .gitignore to include Terraform and AWS credential files

* fix(experience): update background image path in experience page

* fix(experience): change background image format from PNG to JPG in experience page

* fix(nuxt.config): remove unused Poppins font family from Google Fonts configuration

* fix(deploy): update S3 bucket selection logic for deployment based on branch

* feat(deploy): add Terraform setup and CloudFront cache control to deployment workflow

- Introduced Terraform setup step in GitHub Actions for consistent infrastructure management
- Added cache control settings in CloudFront distribution to optimize content delivery
- Updated S3 sync logic to ensure proper deployment based on branch

* feat(nuxt.config): add runtime config for staging environment and update sitemap logic

- Introduced runtime configuration to manage environment variables, specifically for staging
- Added noindex meta tag for staging environment to prevent indexing by search engines
- Updated sitemap generation to exclude URLs in staging
- Created a new robots configuration file for better management of bot access
- Implemented middleware to block search engine bots from accessing the staging environment

* feat(deploy): enhance CloudFront cache invalidation logic in deployment workflow

- Updated deployment workflow to dynamically retrieve CloudFront distribution IDs based on the domain
- Improved error handling for cache invalidation by checking if the distribution ID exists
- Enhanced Terraform output structure to include both domain names and IDs for better clarity

* feat(deploy): improve CloudFront output handling in deployment workflow

- Added debugging steps to retrieve and inspect CloudFront outputs from Terraform
- Enhanced extraction of distribution ID with explicit JSON parsing
- Improved error handling for cases where the distribution ID is not found or is null

* feat(deploy): refine CloudFront output structure and ID extraction in deployment workflow

- Updated Terraform output to include domain names and IDs with a new key format
- Enhanced ID extraction logic in deployment workflow for better clarity and debugging
- Removed redundant outputs.tf file to streamline configuration

* feat(deploy): enhance Terraform initialization and output handling in deployment workflow

- Added Terraform initialization and apply steps to ensure proper state management
- Improved error handling for CloudFront output retrieval and JSON parsing
- Added checks for output file existence and content before processing

* feat(deploy): update Terraform state management in deployment workflow

- Replaced Terraform apply step with refresh to ensure the state is up-to-date
- Improved error handling to allow workflow continuation despite refresh failures

* feat(deploy): enhance CloudFront distribution ID retrieval in deployment workflow

- Streamlined the process of finding CloudFront distribution IDs by querying AWS directly
- Added fallback logic to match distributions by origin domain name if alias matching fails
- Improved debugging output to list all distributions when no match is found

* feat(deploy): enhance CloudFront distribution ID fallback logic in deployment workflow

- Improved handling of null values in Aliases and Origins when retrieving CloudFront distribution IDs
- Added additional fallback mechanism to match distributions by S3 bucket name if previous attempts fail
- Enhanced debugging output to provide clearer information on distribution listings and fallback actions

* feat(deploy): enhance CloudFront distribution ID retrieval and debugging in deployment workflow

- Improved debugging output to list all CloudFront distributions with detailed information for better visibility
- Enhanced fallback logic to match distributions by S3 website endpoint and bucket name
- Added a check for the number of distributions found to streamline the selection process

* feat(deploy): simplify CloudFront distribution retrieval and improve error handling in deployment workflow

- Removed extensive debugging output for CloudFront distributions to streamline the process
- Enhanced logic to find distribution ID by matching S3 bucket name directly
- Improved error handling for cache invalidation, providing clearer messages for permission issues

* feat(deploy): enhance CloudFront cache invalidation process and output clarity

* feat(app): enhance page transition handling and add transition fixes

- Introduced onMounted lifecycle hook to manage content visibility and transition readiness
- Added logic to re-trigger animations after a delay for smoother transitions
- Created a new fixes.scss file to address transition and animation issues across various elements
- Updated main.scss to import the new fixes for improved styling consistency

* refactor(styles): remove deprecated fixes.scss file and update main.scss

* fix(AppHero): replace NuxtImg with standard img tag and adjust background transform for improved layout

* refactor(AppHero): restructure template and styles for improved layout and animation

- Updated the AppHero component template to enhance structure and readability
- Introduced a new grid layout for background boxes with fade-in animation
- Adjusted padding in the index page for better visual alignment

* style(AppHero): update text element and adjust font styles for consistency

- Replaced <em> tag with <span> for better semantic structure
- Updated font size to 1.25rem and added margin-top for improved layout

* refactor(README, AppHero, AppFooter, index): update infrastructure documentation and improve component styles

- Revised README to enhance clarity on infrastructure features and setup
- Adjusted styles in AppFooter for better spacing
- Restructured AppHero component layout and styles for improved visual consistency
- Updated index page styles to enhance background and grid layout

* refactor(AppHero): comment out unused elements for cleaner template

* refactor(AppHero): enhance mobile detection and optimize rendering performance

- Implemented client-side mobile detection with a resize listener for dynamic updates
- Introduced deferred rendering for boxes to improve loading performance after critical content
- Lazy-loaded video modal content to enhance user experience
- Optimized box generation logic and CSS for better performance and reduced complexity
- Introduced a new matrix animation effect using a canvas for improved performance and visual appeal.
- Added a character set and words for the animation, enhancing the dynamic display.
- Refactored the layout to accommodate the new animation, including CSS adjustments for better responsiveness and aesthetics.
- Cleaned up existing code and optimized rendering logic for a smoother user experience.
- Integrated MatrixBackground component in AppHero for enhanced visual effects.
- Updated project images to use responsive sizes and optimized loading with webp format.
- Adjusted CSS styles for better responsiveness and layout consistency across components.
…er experience

- Deleted INFRASTRUCTURE.md as it is no longer needed.
- Adjusted AppHero component to increase minimum height for better layout.
- Enhanced MatrixBackground component with additional technology terms and improved animation effects.
- Updated index and projects pages with new background styles and project details, including a new project showcasing AWS infrastructure using Terraform.
- Adjusted padding in AppFooter for better spacing.
- Modified margin in AppHero to enhance layout consistency.
- Updated background image path in index page and improved background styles.
- Enhanced project details in projects page, including new technology tags and updated links for source code and live sites.
@volcodes volcodes added the enhancement New feature or request label Apr 18, 2025
@volcodes volcodes self-assigned this Apr 18, 2025
volcodes added 16 commits April 18, 2025 22:35
- Added explicit names for the steps to install packages and run tests for better clarity.
- Improved readability of the workflow configuration by organizing the steps with descriptive titles.
- Modified the deployment workflow to trigger only after successful completion of the test workflow.
- Updated the test workflow to include push events for both main and staging branches, enhancing CI/CD integration.
- Renamed deployment workflow to CI/CD Pipeline and updated triggers to include push events for main and staging branches.
- Introduced a new test job in the deployment workflow to run tests before deployment.
- Renamed test workflow to PR Tests for better clarity.
- Removed pull request triggers from the deployment workflow to streamline the CI/CD process.
- Updated the test workflow name to "Pull Request Tests" and added a descriptive job name "Validate PR" for better clarity.
- Added descriptive comments to the CI/CD Pipeline workflow to clarify its purpose and execution flow.
- Updated the test workflow with comments to emphasize its independence from the CI/CD Pipeline, ensuring better understanding of the workflows' interactions.
- Updated the deployment workflow name from "CI/CD Pipeline" to "Deployment" for better alignment with its purpose.
- Changed the test workflow name from "Pull Request Tests" to "Testing" to reflect its broader application in validating changes.
- Eliminated the test job from the deployment workflow to streamline the CI/CD process, allowing for a more direct deployment without pre-deployment tests.
- Renamed the test job from "Validate PR" to "Run Tests" to better reflect its purpose in the workflow.
- Changed the deployment job name to "Deploying..." for better visibility during the deployment process.
- Updated the test job name to "tests are running..." to provide clearer feedback during test execution.
- Added error document configuration to route all errors to index.html in S3 bucket.
- Updated CloudFront distribution settings to allow all HTTP methods and optimize caching for single-page applications (SPA).
- Implemented custom error responses for 403 and 404 errors to serve index.html.
- Ensured ACM certificate covers all necessary domains: volcode.org, www.volcode.org, and staging.volcode.org.
- Added imports for achievement background images.
- Created a mapping object for achievement images to streamline image handling.
- Updated the image source in the template to utilize the new mapping, improving maintainability.
- Revised the project description to clarify the use of Infrastructure as Code (IaC) in the AWS infrastructure architecture.
- Introduced a helper function to streamline image path handling in the AppHero component, improving maintainability.
- Updated the project description for clarity, emphasizing the focus on infrastructure automation, web development, and data tools.
@volcodes volcodes changed the title 🚀 Upgrade to v1.1.0 with infrastructure project and UI improvements 🚀 Upgrade to v1.0.1 with infrastructure project and UI improvements Apr 19, 2025
@volcodes volcodes changed the title 🚀 Upgrade to v1.0.1 with infrastructure project and UI improvements 🏷️ Upgrade to v1.0.1 with infrastructure project and UI improvements Apr 19, 2025
@volcodes volcodes merged commit f1b6c89 into main Apr 19, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant