FlowForge is an intelligent project management platform that analyzes your codebase and automatically generates connected, visual workflow graphs to help you understand your project structure and identify missing features.
- Automatic Feature Detection: Analyzes your codebase to identify existing features like authentication, database integration, APIs, etc.
- Missing Feature Suggestions: AI suggests features that would improve your project based on detected patterns
- Technology Stack Detection: Automatically identifies frameworks, languages, and tools used in your project
- Complexity Analysis: Provides insights into code maintainability and complexity metrics
- Connected Visual Graphs: Creates beautiful, curvy workflow diagrams with smooth transitions
- Feature Relationships: Shows how different features connect and depend on each other
- Workflow Suggestions: Generates step-by-step workflows for implementing missing features
- Interactive Visualization: Ready-to-use graph data for frontend visualization libraries
- File Upload & Processing: Secure ZIP file upload and extraction
- RESTful API: Clean API endpoints for frontend integration
- AI Analysis Engine: Comprehensive code analysis with pattern recognition
- Graph Generation: Advanced workflow graph creation with proper layouts
flowforge-project-ai/
βββ frontend/ # React + Vite frontend
β βββ src/
β β βββ pages/ # Application pages
β β βββ components/ # UI components
β β βββ contexts/ # React contexts
β βββ [React app files]
βββ backend/ # Flask backend
β βββ app.py # Main Flask application
β βββ routes/ # API route blueprints
β β βββ upload.py # File upload endpoints
β β βββ analysis.py # AI analysis endpoints
β β βββ graph.py # Graph generation endpoints
β βββ utils/ # Core utilities
β β βββ ai_analyzer.py # AI-powered code analysis
β β βββ workflow_generator.py # Workflow graph generation
β βββ uploads/ # Uploaded ZIP files
β βββ extracted/ # Extracted projects
β βββ analysis/ # Analysis results and graphs
βββ README.md
-
Navigate to backend directory:
cd backend -
Create virtual environment:
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the Flask server:
python run.py
The backend will start on http://localhost:5000
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
The frontend will start on http://localhost:5173
POST /api/upload- Upload project ZIP fileGET /api/projects- List all uploaded projects
POST /api/analyze/<project_id>- Perform AI analysis on projectGET /api/features/<project_id>- Get detected featuresGET /api/workflow-suggestions/<project_id>- Get workflow suggestionsGET /api/complexity/<project_id>- Get complexity analysis
POST /api/generate-graph/<project_id>- Generate AI-powered workflow graphGET /api/graph/<project_id>- Get generated workflow graphGET /api/analysis/<project_id>- Get AI analysis resultsPOST /api/simple-graph/<project_id>- Generate simple workflow graph
GET /api/health- Server health status
Run the AI system tests:
cd backend
python test_system.pyThis will test:
- AI code analysis
- Feature detection
- Workflow generation
- Graph creation
Users upload a ZIP file containing their project codebase through the web interface.
The system automatically:
- Extracts and analyzes the uploaded code
- Detects existing features (authentication, database, APIs, etc.)
- Identifies the technology stack
- Calculates complexity metrics
- Suggests missing features
Based on the analysis, the system generates:
- Feature Nodes: Visual representation of existing and missing features
- Workflow Steps: Step-by-step processes for implementing features
- Connections: Curvy, animated connections showing relationships between components
- Layout: Intelligent positioning of nodes for optimal visualization
The generated graph data includes:
- Nodes: Styled by feature type with icons and colors
- Edges: Different line styles for different relationship types
- Metadata: Analysis summary and project insights
- Positioning: Optimized layout for beautiful visualization
FLASK_ENV: Set to 'development' or 'production'SECRET_KEY: Flask secret key for sessionsOPENAI_API_KEY: OpenAI API key for advanced AI features (optional)
- Upload Limit: 100MB (configurable in
config.py) - Supported Formats: ZIP files only
- Analysis Depth: Configurable file type filtering
The system generates graph data compatible with popular visualization libraries:
- React Flow: Perfect for React applications
- Cytoscape.js: Advanced graph visualization
- D3.js: Custom graph implementations
- Any D3-compatible library
{
"nodes": [
{
"id": "feature_0",
"label": "Authentication",
"type": "auth",
"style": {
"backgroundColor": "#EF4444",
"color": "white"
},
"position": {"x": 400, "y": 300}
}
],
"edges": [
{
"id": "edge_0",
"source": "feature_0",
"target": "feature_1",
"type": "dependency",
"style": {
"stroke": "#10B981",
"strokeWidth": 3
}
}
],
"metadata": {
"project_id": "20241201_abc12345",
"total_nodes": 10,
"total_edges": 15
}
}- Install React Flow:
npm install reactflow - Create Graph Component: Use the generated graph data
- Add Interactivity: Node selection, zoom, pan
- Styling: Customize node and edge appearances
- Real-time Updates: WebSocket integration for live updates
- Collaboration: Multi-user project analysis
- Version Control: Track changes over time
- Export Options: PNG, SVG, PDF export
- OpenAI Integration: Advanced code analysis with GPT
- Custom Models: Train models on specific codebases
- Predictive Analysis: Suggest future improvements
- Security Scanning: Detect vulnerabilities and security issues
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue on GitHub
- Check the documentation
- Run the test suite to verify your setup
FlowForge - Revolutionizing project management with AI-powered insights and beautiful visualizations.