Skip to content

This is a LocalStack demonstration project that shows how to use LocalStack for local AWS development. LocalStack provides a fully functional local AWS cloud stack that runs in a Docker container, allowing you to develop and test AWS services locally without incurring cloud costs. Resources

License

Notifications You must be signed in to change notification settings

sathya-sre/localstack

Repository files navigation

πŸš€ LocalStack Complete Demo

A comprehensive demonstration of AWS services running locally with LocalStack, featuring a beautiful real-time monitoring dashboard.

LocalStack Demo Python Docker

✨ Features

🎯 Complete AWS Services Demo

  • S3: Object storage with versioning
  • SQS: Message queuing with attributes
  • DynamoDB: NoSQL database operations
  • SNS: Pub/Sub messaging
  • Lambda: Serverless functions
  • API Gateway: REST API endpoints

πŸ“Š Real-time Dashboard

  • Live monitoring of all AWS services
  • iOS-style UI with glassmorphism effects
  • Resource tracking and metrics
  • One-click API testing
  • Responsive dark theme

πŸ› οΈ Developer Tools

  • CORS proxy server for browser compatibility
  • Comprehensive Makefile with 20+ commands
  • CloudFormation infrastructure as code
  • Automated setup scripts

πŸš€ Quick Start

Prerequisites

  • Docker & Docker Compose
  • Python 3.9+
  • Make (optional but recommended)

One-Command Setup

make quick-start

Manual Setup

# 1. Install dependencies
pip install -r requirements.txt

# 2. Start LocalStack
docker-compose up -d

# 3. Run the demo
python3 demo.py

# 4. Start the dashboard
python3 cors-server.py

Access the Dashboard

Open your browser to: http://localhost:8080

πŸ“‹ Available Commands

make help           # Show all available commands
make start          # Start LocalStack services
make demo           # Run complete Python demo
make health         # Check LocalStack health
make clean          # Clean up everything
make quick-start    # Complete setup in one command

πŸ—οΈ Project Structure

localstack-demo/
β”œβ”€β”€ πŸ“Š dashboard.html              # Real-time monitoring dashboard
β”œβ”€β”€ 🐍 demo.py                     # Complete AWS services demo
β”œβ”€β”€ 🌐 cors-server.py             # CORS proxy server
β”œβ”€β”€ 🐳 docker-compose.yml         # LocalStack container setup
β”œβ”€β”€ πŸ“ Makefile                   # Development commands
β”œβ”€β”€ ☁️ cloudformation-template.yaml # Infrastructure as Code
β”œβ”€β”€ πŸ“¦ requirements.txt           # Python dependencies
└── πŸ“– README.md                  # This file

🎨 Dashboard Features

πŸ”₯ Modern UI Design

  • Dark gradient background with cool blue tones
  • Glassmorphism cards with backdrop blur effects
  • Compact layout maximizing screen space
  • Smooth animations and hover effects

πŸ“ˆ Real-time Monitoring

  • Service status with live health checks
  • Resource statistics (S3 buckets, SQS queues, etc.)
  • System metrics (uptime, API calls)
  • Auto-refresh every 10 seconds

πŸ§ͺ Interactive Testing

  • One-click service testing
  • API endpoint validation
  • Live response viewing
  • Error handling with user-friendly messages

⚑ AWS Services Demonstrated

Service Features Demo Includes
S3 Object Storage βœ… Bucket creation, file uploads, versioning
SQS Message Queuing βœ… Queue creation, message sending/receiving
DynamoDB NoSQL Database βœ… Table creation, CRUD operations, queries
SNS Notifications βœ… Topic creation, message publishing
Lambda Serverless Functions βœ… Function deployment, invocation, testing
API Gateway REST APIs βœ… API creation, endpoint setup, deployment

πŸ”§ Technical Details

CORS Solution

The dashboard uses a custom CORS proxy server to handle browser security restrictions:

Browser β†’ CORS Proxy (8080) β†’ LocalStack (4566)

Infrastructure as Code

Includes CloudFormation templates for:

  • S3 buckets with lifecycle policies
  • DynamoDB tables with GSI
  • Lambda functions with IAM roles
  • API Gateway with custom domains

πŸ“Š Performance Benefits

  • 90% faster local development cycles
  • Zero AWS costs during development
  • Instant feedback on infrastructure changes
  • Offline development capabilities

🎯 Use Cases

Development Teams

  • Local testing without AWS costs
  • Integration testing in CI/CD pipelines
  • Rapid prototyping of serverless applications

Learning & Training

  • AWS services exploration without bills
  • Infrastructure experimentation
  • Serverless development practice

Production Readiness

  • Pre-deployment testing
  • Infrastructure validation
  • Performance benchmarking

🀝 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 licensed under the MIT License - see the LICENSE file for details.

🌟 Acknowledgments

πŸ”— Connect with Me

  • GitHub: sathya-sre
  • LinkedIn: Connect with me for more AWS and DevOps content

⭐ Star this repo if it helped you! ⭐

About

This is a LocalStack demonstration project that shows how to use LocalStack for local AWS development. LocalStack provides a fully functional local AWS cloud stack that runs in a Docker container, allowing you to develop and test AWS services locally without incurring cloud costs. Resources

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published