AI-powered web app that generates architecture diagrams, Java source code, Dockerfile, unit tests and error reports from a form to plain-text Java microservice description.
Stack: REact JS/Vite · FastAPI/LangGraph · MySQL · OpenAI GTP-4.0
| Tool | Version |
|---|---|
| Docker | 24+ |
mkdir system-designer && cd system-designer
docker-compose.ymlversion: "3.8"
services:
app:
image: madelyn2025/system-designer:latest
ports:
- "80:80"
env_file:
- .env
depends_on:
mysql:
condition: service_healthy
restart: unless-stopped
mysql:
image: mysql:8.0
env_file:
- .env
volumes:
- mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost",
"-u", "root", "-p${MYSQL_ROOT_PASSWORD}"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
mysql_data:
.env# MySQL
MYSQL_ROOT_PASSWORD=your_strong_root_password
MYSQL_DATABASE=system_designer
MYSQL_USER=appuser
MYSQL_PASSWORD=your_strong_user_password
# App DB connection
DATABASE_URL=mysql+pymysql://appuser:your_strong_user_password@mysql:3306/system_designer
# OpenAI
OPENAI_API_KEY=sk-...
NEVER COMMIT
.envTO GIT
ADD
.envTO YOUR.gitignore
docker-compose up -d
Open your broswer: http://localhost
docker-compose down
# to delete all data
docker-compose down -v
madelyn2025/system-designer
├── nginx (port 80)
│ ├── React SPA → /usr/share/nginx/html
│ └── /api/* → proxy → FastAPI:8000
└── FastAPI (internal :8000)
└── SQLAlchemy → MySQL container
| Symptom | Fix |
|---|---|
mysql container unhealthy | Check .env passwords match exaclty |
| App shows blank page | Wait ~15s for MySQL healthcheck to pass, then refresh |
502 Bad Gateway | FastAPI still starting - wait 10s and retry |
| Port 80 already in use | Change "80:80" -> "80:80" and open http://localhost:8080 |
dicker-compose pull
docker-compose up -d
Built for the NetCompany Hackathon. Frontend & Backend source available on request.
Content type
Image
Digest
sha256:8a670c367…
Size
153.4 MB
Last updated
6 months ago
docker pull madelyn2025/system-designer