Skip to content

This is my Cloud DevOps Portfolio Resume project — designed to showcase hands-on expertise in cloud-native architecture, automation, and deployment. It demonstrates end-to-end infrastructure delivery using AWS services, Infrastructure as Code (IaC), CI/CD pipelines, and dynamic backend APIs.

License

Notifications You must be signed in to change notification settings

wizzfi1/AWS-Resume-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💼 Wisdom Shaibu – Cloud DevOps Resume

Deploy to S3 AWS IaC Views

🚀 Live Site: https://d19tltegw3kn0f.cloudfront.net


📄 About

This is a Cloud DevOps Portfolio Resume, hosted entirely on AWS using modern Infrastructure as Code and CI/CD principles. It includes:

  • 🖥️ Static site served via Amazon S3 + CloudFront
  • ⚙️ Visitor counter powered by Lambda + API Gateway + DynamoDB
  • 🔁 CI/CD with GitHub Actions
  • 🌗 Responsive UI with dark/light theme toggle
  • 📊 Dynamic visit counter rendered on the page

🛠 Tech Stack

Area Tools & Services
☁️ Cloud S3, CloudFront, Lambda, DynamoDB, API Gateway
📦 Infrastructure Terraform (IaC), Ansible (automation)
🚀 CI/CD GitHub Actions
👨‍💻 Frontend HTML5, CSS3, JavaScript
🔐 Security IAM Roles, OAC, CORS

⚙️ CI/CD Workflow Overview

GitHub Actions automatically deploys the resume-website/ folder to S3 and invalidates the CloudFront cache on every push to the main branch.

CI/CD YAML Snippet
name: Deploy Resume to S3

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Configure AWS credentials (eu-north-1)
        uses: aws-actions/configure-aws-credentials@v3
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: eu-north-1

      - name: Deploy static site to S3
        run: aws s3 sync ./resume-website s3://wizfi-bucket --delete

      - name: Invalidate CloudFront (global)
        uses: aws-actions/configure-aws-credentials@v3
        with:
          aws-region: us-east-1
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

      - run: |
          aws cloudfront create-invalidation \
            --distribution-id EG6N3RCWLM0WT \
            --paths "/*"

📈 Visitor Count Integrated AWS Lambda function increments and retrieves resume views in real-time from DynamoDB.

// Frontend snippet in index.html fetch("https://2k88saonj3.execute-api.eu-north-1.amazonaws.com") .then(res => res.json()) .then(data => { document.getElementById("visitor-count").innerText = 👁️ Views: ${data.views}; });

Trigger Lambda Counter: Open devtools and refresh to see view count increase

🛡 License MIT License © Wisdom Shaibu

About

This is my Cloud DevOps Portfolio Resume project — designed to showcase hands-on expertise in cloud-native architecture, automation, and deployment. It demonstrates end-to-end infrastructure delivery using AWS services, Infrastructure as Code (IaC), CI/CD pipelines, and dynamic backend APIs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published