Context-aware API testing platform that automatically transforms OpenAPI specifications into interactive, visual user journey workflows.
SpecFlow bridges the gap between isolated endpoint testing and real-world API usage by:
- Parsing OpenAPI specs to extract all endpoints and schemas
- Generating logical user journeys using AI (Ollama)
- Visualizing workflows as interactive node graphs (Vue Flow)
- Executing multi-step API tests with automatic data flow
- Managing authentication and session state automatically
- AI-Powered Journey Generation: Uses Ollama to analyze APIs and suggest realistic test workflows
- Visual Journey Editor: Drag-and-drop interface for creating and editing API test flows
- Smart Execution: Automatically passes tokens, IDs, and other data between steps
- Mock Data Generation: Uses Faker.js to generate realistic test data from schemas
- Real-Time Results: WebSocket-powered live execution feedback
- Session Management: Handles auth flows and maintains state across steps
- Error Injection: Test failure scenarios with one click
- FastAPI (Python 3.11+)
- PostgreSQL + SQLAlchemy (async)
- Ollama (qwen3-vl:235b-cloud)
- Redis
- WebSockets
- Vue 3 + Vite
- TailwindCSS
- Vue Flow
- Pinia
- Axios
- Python 3.11+ with UV package manager
- Node.js 20+
- PostgreSQL 15+
- Redis 7+
- Ollama with qwen3-vl:235b-cloud model
cd backend
# Copy environment variables
cp .env.example .env
# Edit .env with your database credentials
# Install dependencies
pip install uv
uv pip install -e .
# Run database migrations
alembic upgrade head
# Start the server
uvicorn app.main:app --reloadBackend will be running at http://localhost:8000
API docs available at http://localhost:8000/docs
cd frontend
# Install dependencies
npm install
# Start dev server
npm run devFrontend will be running at http://localhost:5173
ollama pull qwen3-vl:235b-cloud- Sign up for an account
- Upload your OpenAPI specification (JSON/YAML)
- Generate journeys using AI or create manually
- Edit the journey graph (add/remove/reorder steps)
- Configure mock data for each step
- Execute the journey and see real-time results
- View request/response details for each step
SpecFlow uses a premium dark theme with:
- Primary Color:
#BFF549(Vibrant Lime Green) - Background:
#000000(Pure Black) - Font: Inter
- Style: Modern, high-energy, glassmorphism effects
SpecFlow/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── models/ # SQLAlchemy models
│ │ ├── routers/ # API endpoints
│ │ ├── services/ # Business logic
│ │ └── schemas/ # Pydantic schemas
│ └── alembic/ # Database migrations
└── frontend/ # Vue 3 frontend
└── src/
├── views/ # Page components
├── stores/ # Pinia stores
└── router/ # Vue Router
DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/specflow
REDIS_URL=redis://localhost:6379/0
JWT_SECRET_KEY=your-secret-key-here
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=qwen3-vl:235b-cloudVITE_API_URL=http://localhost:8000- Backend API:
http://localhost:8000/docs(Swagger UI) - Project Status: See
PROJECT_STATUS.mdfor implementation details - Specifications: See
SpecificationDocs/for full requirements
# Run migrations
alembic revision --autogenerate -m "description"
alembic upgrade head
# Run tests
pytest
# Format code
black app/
ruff check app/# Development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- Use Gunicorn/Uvicorn with multiple workers
- Set up PostgreSQL and Redis instances
- Configure environment variables
- Run Alembic migrations
- Build:
npm run build - Serve
dist/folder with any static hosting (Nginx, Vercel, Netlify)
This project follows the specifications in SpecificationDocs/:
PROJECT_DEFINITION.md- Core conceptsimplementation.md- Implementation planBE.md- Backend specificationFE.md- Frontend specificationbranding.json- Brand guidelines
Private project - All rights reserved
- Vue Flow for the amazing graph visualization library
- Ollama for local AI capabilities
- FastAPI for the excellent Python framework
- TailwindCSS for beautiful styling utilities
Built with ❤️ by Benjamin