Skip to content

DevHAXog/CRC-AWS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌩️ Cloud Resume Challenge - AWS Implementation

Live Demo AWS Terraform GitHub Actions

A modern, cloud-native resume website built as part of the Cloud Resume Challenge by Forrest Brazeal

This project demonstrates cloud engineering skills through a real-world implementation featuring serverless architecture, Infrastructure as Code, CI/CD automation, and security best practices.

πŸš€ Live Demo

Visit the live website: godevtech.cloud

πŸ‘€ About

Devin Emmans-Bosley - Cloud Engineer & DevSecOps Enthusiast
πŸ“ Culpeper, VA
πŸ”— LinkedIn | GitHub

πŸ“‹ Project Overview

This Cloud Resume Challenge implementation showcases:

  • Modern Web Design: Responsive, dark-mode enabled interface built with Tailwind CSS
  • Serverless Architecture: AWS Lambda, DynamoDB, and API Gateway for dynamic functionality
  • Infrastructure as Code: Terraform for reproducible cloud infrastructure
  • Automated Deployment: GitHub Actions for continuous integration and deployment
  • Security Best Practices: HTTPS, secure headers, minimal IAM permissions
  • Performance Optimization: CloudFront CDN, optimized assets, and caching strategies

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   PorkBuns      β”‚    β”‚   CloudFront     β”‚    β”‚   S3 Bucket     β”‚
β”‚   DNS Hosting   │───▢│   CDN + SSL      │───▢│   Static Site   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   DynamoDB      │◀───│   API Gateway    │◀───│   Lambda        β”‚
β”‚   Visit Counter β”‚    β”‚   REST API       β”‚    β”‚   Python        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚   CloudWatch     β”‚
                       β”‚   Monitoring     β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Technology Stack

Frontend

  • HTML5: Semantic markup and modern styling
  • Tailwind CSS: Utility-first CSS framework
  • JavaScript (ES6+): Dynamic interactions and API calls
  • Responsive Design: Mobile-first approach

Backend & Cloud Services

  • AWS S3: Static website hosting
  • AWS CloudFront: Global CDN with SSL/TLS
  • ** PorkBun**: DNS management
  • AWS Lambda: Serverless function for visitor counter
  • AWS DynamoDB: NoSQL database for visitor count
  • AWS API Gateway: RESTful API endpoints
  • AWS CloudWatch: Monitoring and logging

DevOps & Automation

  • Terraform: Infrastructure as Code
  • GitHub Actions: CI/CD pipeline
  • Python: Lambda function development
  • Boto3: AWS SDK for Python

πŸ“ Project Structure

β”œβ”€β”€ πŸ“„ index.html              # Main homepage
β”œβ”€β”€ πŸ“„ resume.html             # Resume page
β”œβ”€β”€ πŸ“„ blog.html               # Blog page
β”œβ”€β”€ πŸ“„ error.html              # 404 error page
β”œβ”€β”€ πŸ“‚ assets/                 # Static assets
β”‚   β”œβ”€β”€ πŸ“‚ cert-logos/         # Certification badges
β”‚   └── πŸ“‚ Pictures/           # Profile images
β”œβ”€β”€ πŸ“‚ css/                    # Stylesheets
β”‚   β”œβ”€β”€ πŸ“„ modern-styles.css   # Custom CSS
β”‚   └── πŸ“„ styles.css          # Base styles
β”œβ”€β”€ πŸ“‚ js/                     # JavaScript files
β”‚   β”œβ”€β”€ πŸ“„ counter.js          # Visitor counter logic
β”‚   β”œβ”€β”€ πŸ“„ enhanced-scroll-animations.js  # Scroll animations
β”‚   └── πŸ“„ main.js             # Core functionality
β”œβ”€β”€ πŸ“‚ lambda/                 # AWS Lambda functions
β”‚   └── πŸ“„ counter.py          # Visitor counter backend
β”œβ”€β”€ πŸ“‚ terraform/              # Infrastructure as Code (planned)
β”‚   β”œβ”€β”€ πŸ“„ main.tf            # Main Terraform configuration
β”‚   β”œβ”€β”€ πŸ“„ variables.tf       # Variable definitions
β”‚   └── πŸ“„ outputs.tf         # Output values
β”œβ”€β”€ πŸ“‚ .github/workflows/      # CI/CD pipelines
β”‚   └── πŸ“„ main.yml         # GitHub Actions workflow
└── πŸ“„ README.md              # This file

✨ Key Features

🎨 Modern UI/UX

  • Dark/Light mode toggle with system preference detection
  • Smooth scroll animations using Intersection Observer API
  • Glass morphism design elements
  • Responsive layout for all device sizes
  • Accessible design following WCAG guidelines

πŸ”’ Dynamic Visitor Counter

  • Real-time visitor tracking using AWS Lambda + DynamoDB
  • Graceful fallback to simulation mode during development
  • Animated counter with smooth transitions
  • Error handling and retry logic

πŸ“Š Performance Optimized

  • CloudFront CDN for global content delivery
  • Optimized images and assets
  • Lazy loading for improved performance
  • Minified CSS and JavaScript

πŸ”’ Security Focused

  • HTTPS everywhere with SSL/TLS certificates
  • Secure headers implementation
  • Minimal IAM permissions following least privilege principle
  • Input validation and sanitization

πŸš€ Deployment Process

Automated CI/CD Pipeline

  1. Source Control: Code pushed to GitHub repository
  2. Build Process: GitHub Actions validates and builds assets
  3. Infrastructure: Terraform provisions AWS resources
  4. Deployment: Static files uploaded to S3, Lambda functions deployed
  5. CDN Invalidation: CloudFront cache invalidated for immediate updates

Manual Deployment Steps

# 1. Clone the repository
git clone https://github.com/DevHAXog/cloud-resume-challenge.git
cd cloud-resume-challenge

# 2. Install dependencies (if using npm for dev tools)
npm install

# 3. Configure AWS credentials
aws configure

# 4. Deploy infrastructure with Terraform
cd terraform
terraform init
terraform plan
terraform apply

# 5. Upload website files to S3
aws s3 sync ../ s3://your-bucket-name --exclude "terraform/*" --exclude ".git/*"

# 6. Invalidate CloudFront cache
aws cloudfront create-invalidation --distribution-id YOUR_DISTRIBUTION_ID --paths "/*"

πŸ”§ Local Development

# 1. Start local development server
python -m http.server 8000

# 2. Open browser to http://localhost:8000

# 3. Make changes and test locally
# The visitor counter will use simulation mode automatically

πŸ“Š AWS Services Used

Service Purpose Implementation
S3 Static website hosting Stores HTML, CSS, JS, and assets
CloudFront CDN + SSL/TLS Global content delivery and HTTPS
Route 53 DNS management Domain routing
Lambda Serverless backend Visitor counter API endpoint
DynamoDB Database Stores visitor count data
API Gateway REST API Exposes Lambda function as HTTP API
CloudWatch Monitoring Logs, metrics, and alerting
IAM Security Roles and policies for access control

πŸ“ˆ Monitoring & Analytics

  • CloudWatch Logs: Lambda function execution logs
  • CloudWatch Metrics: API Gateway performance metrics
  • CloudFront Reports: Traffic and performance analytics
  • DynamoDB Metrics: Database performance monitoring

πŸ” Security Implementations

  • HTTPS Only: All traffic encrypted with TLS 1.2+
  • CORS Configuration: Proper cross-origin resource sharing settings
  • IAM Least Privilege: Minimal permissions for all AWS resources
  • Input Validation: Sanitization of all user inputs
  • Security Headers: CSP, HSTS, and other protective headers

🎯 Learning Outcomes

Through this project, I gained hands-on experience with:

  • βœ… Serverless Architecture: Building scalable, cost-effective solutions
  • βœ… Infrastructure as Code: Managing cloud resources with Terraform
  • βœ… CI/CD Pipelines: Automated testing and deployment workflows
  • βœ… Cloud Security: Implementing security best practices
  • βœ… Frontend Development: Modern web development techniques
  • βœ… DevOps Practices: End-to-end development and operations

🚧 Roadmap & Improvements

Current Phase

  • Static website deployment
  • Custom domain with SSL
  • Visitor counter functionality
  • Responsive design implementation

Next Phase

  • Complete Terraform infrastructure provisioning
  • Enhanced monitoring and alerting
  • Performance optimization
  • SEO improvements
  • Blog functionality with dynamic content

Future Enhancements

  • Contact form with AWS SES
  • Multi-region deployment
  • Advanced analytics dashboard
  • Automated security scanning
  • Progressive Web App features

🀝 Contributing

While this is a personal project, I welcome feedback and suggestions! Feel free to:

  • Open an issue for bugs or suggestions
  • Submit a pull request for improvements
  • Share your own Cloud Resume Challenge implementation

πŸ“„ License

This project is open source and available under the MIT License.

πŸ“ž Contact

Devin Emmans-Bosley


πŸ™ Acknowledgments

  • Forrest Brazeal for creating the Cloud Resume Challenge
  • AWS Community for extensive documentation and tutorials
  • Terraform Community for Infrastructure as Code best practices
  • Open Source Contributors whose tools and libraries made this project possible

Built with Love Powered by AWS Deployed with Terraform

⭐ If you found this project helpful, please consider giving it a star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published