A full-stack AI-powered system that generates UML diagrams from plain-language software requirements using AutoGen and PlantUML.
open-uml-generator/
├── backend/ # FastAPI backend with AutoGen agents
│ ├── autogen_logic.py
│ ├── main.py
│ ├── tools.py
│ ├── uml_agent_runner.py
│ ├── utils.py
│ └── diagrams/ # Generated UML diagram images
├── frontend/ # React frontend
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── ...
├── .gitignore
├── README.md
└── .env.example # Sample environment variables
cd backend
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtIf requirements.txt is missing, install manually:
pip install fastapi uvicorn python-dotenv plantuml autogen typing_extensionsCreate a .env file in backend/:
cp ../.env.example .envuvicorn main:app --reloadBackend will run at http://localhost:8000
cd frontend
npm installnpm startFrontend will open at http://localhost:3000
💡 To change port, add
.envfile infrontend/:PORT=3500
- Go to
http://localhost:3003 - Enter a software requirement (e.g., "A hospital management system")
- Click Generate Diagram
- A modal will appear showing the generated UML class diagram
# backend/.env or project root
# OpenAI model name
MODEL_NAME=gpt-4o-mini
# (Optional) OpenAI API key if needed
# OPENAI_API_KEY=your-api-key-heregit rm --cached frontend
rm -rf frontend/.git
git add frontend/
git commit -m "Fix frontend as regular folder"
git push origin maingit add backend frontend
git commit -m "Add backend and frontend"- Add SVG rendering support
- User download & share buttons for diagrams
- Save diagram history with titles
- Dockerize full stack for production
MIT License – free for personal and commercial use.