Skip to content

Mystery01092000/aws-simplified

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudForge

Visual AWS infrastructure management — drag, configure, deploy.

CloudForge is a GUI-based AWS resource management platform. Admins create roles with scoped AWS service permissions. Role members design infrastructure visually on a VPC canvas, see real-time cost estimates in USD and INR, and deploy everything via Terraform with one click.


Features

  • Role-based access control — Admin creates roles with specific AWS service allowlists. Users can only use services their role permits.
  • IAM policy generator — Selecting services for a role auto-generates a least-privilege IAM policy JSON + step-by-step AWS setup guide (Console + CLI).
  • Visual VPC canvas — Drag AWS services from a palette, draw connections, configure instances in a side panel. Built on React Flow.
  • Real-time cost estimation — Every node shows per-resource cost. Canvas total updates live in USD and INR.
  • Cost diff before deploy — See exactly how much your infrastructure change will cost before running Terraform.
  • Terraform-powered deploy — Click "Run Config" → backend generates HCL, runs terraform apply, streams live logs via WebSocket.
  • 19 AWS services supported — EC2, RDS, Lambda, ECS, EKS, ASG, S3, EBS, DynamoDB, ElastiCache, ALB, NLB, NAT Gateway, CloudFront, Route53, SQS, SNS, KMS, Security Groups.
  • Admin dashboard — Overview of all roles, running resources, and total deployed cost.

Architecture

┌──────────────────────────────┐
│  Frontend (React + TypeScript)│
│  React Flow  │  Zustand       │
│  Tailwind CSS  │  Stitch DS   │
└──────────────┬───────────────┘
               │ REST + WebSocket
┌──────────────▼───────────────┐
│  Backend (Python / FastAPI)   │
│  SQLAlchemy  │  Alembic       │
│  Celery      │  Boto3         │
│  Jinja2 HCL templates        │
└──────┬───────────────┬───────┘
       │               │
  PostgreSQL         Redis
       │               │
  Terraform CLI ◄─── Celery Worker
       │
  AWS Cloud

Quick Start

Prerequisites

  • Docker + Docker Compose
  • AWS account (for actual deployments)

1. Clone and configure

git clone <repo-url>
cd aws-simplified
cp backend/.env.example backend/.env
# Edit backend/.env — set SECRET_KEY to a random 32+ char string

2. Start all services

docker-compose up
Service URL
Frontend http://localhost:3000
Backend API http://localhost:8000
API Docs (Swagger) http://localhost:8000/docs
API Docs (ReDoc) http://localhost:8000/redoc

3. Create the first admin user

curl -X POST http://localhost:8000/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"admin@yourco.com","password":"yourpassword","full_name":"Admin"}'

Then assign the admin role via the API (see Backend README).


Project Structure

aws-simplified/
├── backend/              # Python FastAPI application
│   ├── app/
│   │   ├── api/v1/       # REST + WebSocket endpoints
│   │   ├── core/         # Config, database, security
│   │   ├── models/       # SQLAlchemy ORM models
│   │   ├── schemas/      # Pydantic request/response schemas
│   │   ├── services/     # Business logic
│   │   │   ├── auth_service.py
│   │   │   ├── cost_service.py       # USD + INR pricing engine
│   │   │   ├── iam_policy_service.py # IAM policy generator
│   │   │   └── terraform_service.py  # HCL generator
│   │   ├── tasks/        # Celery background tasks
│   │   └── workers/      # Celery app
│   ├── terraform/
│   │   └── templates/    # Jinja2 HCL templates (19 services)
│   └── tests/            # pytest test suite
│
├── frontend/             # React + TypeScript application
│   └── src/
│       ├── components/
│       │   ├── auth/     # Login, role selection
│       │   ├── canvas/   # VPC drag-and-drop
│       │   ├── cost/     # Cost estimation panel
│       │   ├── deploy/   # Terraform deploy + log stream
│       │   ├── admin/    # Role manager, IAM policy wizard
│       │   └── ui/       # Stitch design system
│       ├── hooks/
│       ├── store/        # Zustand state
│       └── api/          # API client
│
├── DESIGN.md             # UI/UX design specification
├── docker-compose.yml
└── README.md

Role Creation Guide

See Backend README → Role Management for the full admin workflow including IAM policy generation and AWS credential setup.


Documentation

Document Description
Backend README All API endpoints, role creation, deployment guide
DESIGN.md UI/UX specification, Stitch design system, screen wireframes
Implementation Plan Full architecture and phase breakdown

Tech Stack

Layer Technology
Frontend React 18, TypeScript, React Flow, Zustand, Tailwind CSS
Backend Python 3.12, FastAPI, SQLAlchemy 2.0, Alembic
Database PostgreSQL 16
Task Queue Celery 5, Redis 7
IaC Terraform CLI 1.9
Auth JWT (python-jose), bcrypt
AWS SDK Boto3
Containerization Docker, Docker Compose

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors