Skip to content

Latest commit

ย 

History

History
135 lines (104 loc) ยท 3.94 KB

File metadata and controls

135 lines (104 loc) ยท 3.94 KB

Kiro Workshop - Enhanced Sudoku Web Application

A comprehensive web application project featuring a modern Sudoku game with AWS cloud deployment, monitoring, and containerization.

๐ŸŽฎ Features

Sudoku Game

  • Interactive 9x9 Sudoku grid with modern UI
  • Real-time validation and visual feedback
  • Multiple puzzle difficulties
  • Timer and mistake tracking
  • Auto-solve functionality for beginners
  • Responsive design (desktop & mobile)

Cloud Infrastructure

  • AWS S3: Private bucket hosting
  • CloudFront: Global CDN distribution
  • CloudWatch: Comprehensive monitoring and alerting
  • Real User Monitoring (RUM): Client-side analytics
  • X-Ray: Performance tracing

DevOps & Deployment

  • Terraform: Infrastructure as Code
  • Docker: Containerized deployment
  • GitHub: Version control and CI/CD ready

๐Ÿš€ Quick Start

Local Development

# Clone the repository
git clone https://github.com/YOUR_USERNAME/kiro-workshop.git
cd kiro-workshop

# Open in browser
open sudoku.html

Docker Deployment

# Build and run container
docker build -t sudoku-app .
docker run -d -p 8080:80 --name sudoku-game sudoku-app

# Access at http://localhost:8080

AWS Deployment

cd terraform
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your settings

terraform init
terraform plan
terraform apply

๐Ÿ“ Project Structure

kiro-workshop/
โ”œโ”€โ”€ sudoku.html                 # Main web application
โ”œโ”€โ”€ sudoku-architecture.drawio  # Architecture diagram
โ”œโ”€โ”€ Dockerfile                  # Container configuration
โ”œโ”€โ”€ DOCKER.md                   # Docker deployment guide
โ”œโ”€โ”€ terraform/                  # AWS infrastructure
โ”‚   โ”œโ”€โ”€ main.tf                # Core infrastructure
โ”‚   โ”œโ”€โ”€ monitoring.tf          # CloudWatch setup
โ”‚   โ”œโ”€โ”€ variables.tf           # Configuration variables
โ”‚   โ””โ”€โ”€ outputs.tf             # Resource outputs
โ””โ”€โ”€ README.md                   # This file

๐Ÿ—๏ธ Architecture

The application uses a modern serverless architecture:

  • Frontend: Static HTML/CSS/JavaScript
  • Hosting: AWS S3 (private bucket)
  • CDN: CloudFront with Origin Access Control
  • Monitoring: CloudWatch + RUM + X-Ray
  • Security: HTTPS-only, no direct S3 access

๐Ÿ“Š Monitoring & Analytics

  • Performance Metrics: Page load times, user interactions
  • Error Tracking: JavaScript errors and HTTP failures
  • Usage Analytics: Geographic distribution, device types
  • Alerting: Email notifications for issues
  • Dashboard: Real-time metrics visualization

๐Ÿ› ๏ธ Technologies Used

  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • Infrastructure: Terraform, AWS (S3, CloudFront, CloudWatch)
  • Containerization: Docker, Nginx
  • Monitoring: CloudWatch RUM, X-Ray
  • Version Control: Git, GitHub

๐Ÿ“ˆ Performance Features

  • Optimized Validation: Cached results, memory-based board state
  • Efficient UI Updates: Batched DOM operations, debounced events
  • Global CDN: Edge caching, compression, HTTP/2
  • Responsive Design: Mobile-first, scalable components

๐Ÿ”’ Security Features

  • Private S3 bucket with public access blocked
  • CloudFront Origin Access Control (OAC)
  • HTTPS-only access with automatic redirect
  • No direct S3 public endpoints

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ License

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

๐ŸŽฏ Workshop Learning Objectives

This project demonstrates:

  • Modern web development practices
  • Cloud-native architecture design
  • Infrastructure as Code with Terraform
  • Containerization with Docker
  • Comprehensive monitoring and observability
  • DevOps best practices