Skip to content

satishdosapati/Diagramming_Solution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diagram Generation System

Minimalist Mode 🧭
Keep this file lean — no mocks, no placeholders, only confirmed logic.

A web application that generates professional diagrams from natural language descriptions using Strands Agents and AWS Diagram MCP Server.

Features

  • Natural Language Input: Describe your diagram in plain English
  • Multiple Diagram Types: Supports AWS, Azure, GCP, Kubernetes, and more
  • Web Interface: Clean, modern UI for diagram generation

Prerequisites

  • Python 3.11+
  • Graphviz installed on your system
  • AWS credentials configured (for Bedrock) or OpenAI API key

Installation

Quick Setup (Recommended)

Backend:

# Unix/macOS/Linux
cd backend && bash setup.sh

# Windows
cd backend && setup.bat

Frontend:

# Unix/macOS/Linux
cd frontend && bash setup.sh

# Windows
cd frontend && setup.bat

Manual Setup

  1. Clone the repository

  2. Create virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Install Graphviz:

  5. Copy .env.example to .env and configure:

    cp .env.example .env
  6. Update .env with your credentials

Feature Flags

Feature flags allow you to enable/disable features without code changes. Configure them in your .env file:

# Feature Flags (defaults shown)
FEATURE_FLAG_ENABLE_TEXT_INPUT=true
FEATURE_FLAG_ENABLE_HELP_PAGE=true
FEATURE_FLAG_ENABLE_AUDIO_INPUT=false
FEATURE_FLAG_ENABLE_IMAGE_UPLOAD=false
FEATURE_FLAG_ENABLE_DIAGRAM_EDITING=false
FEATURE_FLAG_ENABLE_TEMPLATES=false
FEATURE_FLAG_ENABLE_EXPORT_FORMATS=false
FEATURE_FLAG_ENABLE_STYLING=false

Available Features:

  • ENABLE_TEXT_INPUT - Natural language text input (MVP, enabled by default)
  • ENABLE_HELP_PAGE - Help & FAQ page (enabled by default)
  • ENABLE_AUDIO_INPUT - Voice input processing (planned)
  • ENABLE_IMAGE_UPLOAD - Handwritten diagram upload (planned)
  • ENABLE_DIAGRAM_EDITING - Edit generated diagrams (planned)
  • ENABLE_TEMPLATES - Diagram templates (planned)
  • ENABLE_EXPORT_FORMATS - Multiple export formats (planned)
  • ENABLE_STYLING - Custom styling and themes (planned)

Check current feature flags: GET /api/features

Running

  1. Start the backend server:

    python backend/run.py

    Or:

    cd backend
    python -m uvicorn app:app --reload
  2. Open frontend/index.html in your browser

Usage

  1. Enter a natural language description of your diagram
  2. Click "Generate Diagram"
  3. Download the generated diagram

Example Prompts

  • "Create a serverless architecture with API Gateway, Lambda, and DynamoDB"
  • "Show a microservices architecture with Kubernetes"
  • "Design a data pipeline with S3, Glue, and Redshift"

Project Structure

backend/          # FastAPI backend
frontend/         # Web interface
docs/             # Documentation
tests/            # Test files

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published