DrawingFlow is a precision-engineered workflow management system for steel fabrication shop drawings. Built to replace the chaos of multiple Microsoft Lists with one unified, intelligent pipeline from customer request through approval to fabrication handoff.
"Because tracking drawings shouldn't require three different lists and a prayer." - Mark, Steel Fabricator
Steel fabrication shops deal with complex drawing workflows that involve multiple stakeholders, approval stages, and handoffs. The traditional approach? Three separate Microsoft Lists:
- Shop Drawing Request - Incoming work queue
- Drawing Submittal Log - Design, submit, track approvals
- Fabrication Drawing Log - Handoff to fab team
The result? Manual data entry, lost information between stages, no automated workflows, zero visibility, and pure frustration.
DrawingFlow replaces the three-list nightmare with one intelligent system:
๐ Request โ ๐จ Design โ ๐ค Submit โ โ
Approve โ ๐ญ Fabricate
๐ Unified Workflow
- Single source of truth for drawing lifecycle
- Automatic status transitions based on approval type
- Real-time visibility across all stages
- Zero manual data re-entry
๐ PDF Magic
- Built-in PDF viewer with markup tools
- Compare revisions side-by-side
- Annotation history tracking
- Export marked-up PDFs
๐ Smart Notifications
- Real-time alerts when approvals arrive
- Automated reminders for stalled drawings
- Slack/Email integration
- Mobile-friendly notifications
๐ฅ Customer Workflows
- Define approval chains per customer (GC โ Architect โ Engineer)
- Track approval speed metrics
- Custom submittal methods (email, portal, physical)
- SLA management and escalation
๐๏ธ Fab Handoff
- Seamless transition from approval to production
- Material requirements extraction
- Priority queue management
- Shop floor tablet view
๐ Analytics & Insights
- Time tracking per workflow stage
- Bottleneck identification
- Approval rate by customer
- Workload balancing
- Backend: Laravel 12 (PHP 8.3+) - Modern, powerful, battle-tested
- Frontend: Vue.js 3 + Inertia.js - SPA feel without API complexity
- Styling: Tailwind CSS 3 + Headless UI - Beautiful, accessible components
- Database: MySQL 8.0 / PostgreSQL 15+ - Rock-solid data layer
- Cache/Queue: Redis 7 + Laravel Horizon - Fast, reliable background processing
- Search: Meilisearch - Sub-millisecond document search
- Files: S3-compatible storage - Scalable file management
โ
Matches SteelFlow MRP ecosystem for eventual integration
โ
Modern PHP with type safety and performance
โ
Vue 3 Composition API for maintainable components
โ
Inertia.js for rapid development without API overhead
โ
Docker for consistent development environments
- Docker Desktop (or Docker Engine + Docker Compose)
- Node.js 18+ (for local asset compilation)
- Git
# 1. Clone the repository
git clone https://github.com/meistro57/DrawingFlow.git
cd DrawingFlow
# 2. Copy environment configuration
cp .env.example .env
# 3. Start Docker containers
docker-compose up -d
# 4. Install PHP dependencies
docker-compose exec app composer install
# 5. Generate application key
docker-compose exec app php artisan key:generate
# 6. Run database migrations
docker-compose exec app php artisan migrate --seed
# 7. Install frontend dependencies
npm install
# 8. Build assets (development)
npm run dev
# Or build for production
npm run build- Web Interface: http://localhost:8080
- Mailhog (Email Testing): http://localhost:8025
- Horizon (Queue Dashboard): http://localhost:8080/horizon
Email: admin@drawingflow.test
Password: password
- AGENTS.md - Comprehensive AI agent guide with database schema, workflows, and development patterns
- INSTALLATION.md - Detailed setup instructions for various environments
- CONTRIBUTING.md - How to contribute to DrawingFlow
- CODE_OF_CONDUCT.md - Community guidelines
Coming soon - full REST API documentation with Postman collections.
- GitHub repository setup
- Comprehensive documentation (AGENTS.md)
- Extract customer/project models from SteelFlow
- Docker development environment
- Initial database migrations
- Authentication system
- Dashboard skeleton
- Drawing request CRUD
- Drawing submittal CRUD with file upload
- Basic status system
- Customer & project associations
- Simple list views
- File attachment system
- Auto-status transitions based on approval type
- Submittal approval tracking
- Revision system (A โ B โ C)
- Status history timeline
- Notes/comments system
- Email notifications
- Dashboard with "My Queue" view
- Embedded PDF viewer
- Markup tools (circles, arrows, text, highlights)
- Markup save/export
- Revision comparison side-by-side
- Stamp library (approval stamps)
- Markup history tracking
- Mobile-responsive viewer
- Real-time notifications
- Internal chat/notes per drawing
- @mention functionality
- Email integration (send submittals)
- Approval email parsing
- Customer portal (read-only view)
- Automated reminder system
- Fab queue management
- Material requirements field
- CNC file attachment
- Priority system
- Shop floor tablet view
- Bulk handoff tools
- Print/export fabrication packets
- Analytics dashboard (time per stage, approval rates, bottlenecks)
- Saved filters & custom views
- Advanced search
- Bulk operations
- Templates for common drawing types
- Drawing numbering automation
- Project timeline view
- Drawing dependencies
- Milestone tracking
- Critical path visualization
- Gantt chart view
- Budget tracking per project
- Microsoft Lists import tool
- Calendar integration
- Slack/Teams webhooks
- API for SteelFlow integration
- Mobile app optimization
- Keyboard shortcuts
- QR code generation
- Conditional routing workflows
- Multi-reviewer approval chains
- Customer-specific workflow customization
- Predictive approval timelines (AI/ML)
- Advanced file management (DWG preview)
- Automated submittal packet generation
- Real-world testing
- Performance optimization
- Bug fixes & refinements
- User feedback implementation
- Documentation
- SteelFlow integration planning
- Database migration strategy
- Production deployment
customers (1) โโโ (โ) projects (1) โโโ (โ) drawing_requests
โ
โ
drawing_submittals (1) โโโ (โ) submittal_files
โ โ
โ โ
โ pdf_markups (โ)
โ
โโโโ (โ) submittal_approvals
โ
โ
fab_queue (1)
DrawingFlow follows a service-oriented architecture:
- Models - Handle database relationships and data access
- Services - Contain business logic and complex workflows
- Events - Trigger automated actions across the system
- Jobs - Process long-running tasks in background queues
- Policies - Control authorization and permissions
See AGENTS.md for complete architectural details.
DrawingFlow is designed as a standalone module that will eventually integrate into the SteelFlow MRP ecosystem.
Phase 1: Standalone (Current)
- Independent operation
- Optional connection to SteelFlow database
- Separate deployment
Phase 2: API Integration
- REST API for data exchange
- Bidirectional sync
- Unified authentication
Phase 3: Module Absorption
- Move to
app/Modules/DrawingFlow/in SteelFlow - Shared database, auth, and core services
- Single unified deployment
- User authentication & authorization
- Customer database
- Project database
- File storage system
- Notification infrastructure
- Reporting engine
DrawingFlow follows a comprehensive testing strategy:
- Unit Tests: 80%+ coverage
- Feature Tests: All critical workflows
- Browser Tests: Key user journeys
# Run all tests
docker-compose exec app php artisan test
# Run specific test suite
docker-compose exec app php artisan test --testsuite=Feature
# Run with coverage report
docker-compose exec app php artisan test --coverage
# Run browser tests (Dusk)
docker-compose exec app php artisan duskDrawingFlow is built with AI pair programming in mind. The comprehensive AGENTS.md file provides:
- Complete database schema with SQL
- Business logic and workflow definitions
- Service architecture patterns
- Code style guidelines
- Development best practices
- AI-specific collaboration guidelines
This makes it easy for AI assistants to:
- Generate accurate code that follows project patterns
- Understand business requirements and constraints
- Suggest implementations that match existing architecture
- Debug issues with full context
DrawingFlow/
โโโ app/
โ โโโ Console/ # Artisan commands
โ โโโ Events/ # Event classes (DrawingRequest, Submittal, FabQueue)
โ โโโ Http/
โ โ โโโ Controllers/ # Route controllers
โ โ โโโ Requests/ # Form validation
โ โ โโโ Resources/ # API resources
โ โโโ Jobs/ # Queue jobs
โ โโโ Listeners/ # Event listeners
โ โโโ Models/ # Eloquent models
โ โโโ Notifications/ # Notification classes
โ โโโ Policies/ # Authorization
โ โโโ Services/ # Business logic
โโโ database/
โ โโโ factories/ # Model factories
โ โโโ migrations/ # Database migrations
โ โโโ seeders/ # Database seeders
โโโ resources/
โ โโโ css/ # Tailwind CSS
โ โโโ js/
โ โ โโโ Components/ # Vue components
โ โ โโโ Composables/ # Reusable logic
โ โ โโโ Layouts/ # Page layouts
โ โ โโโ Pages/ # Inertia pages
โ โ โโโ Stores/ # Pinia stores
โ โโโ views/ # Blade templates (PDFs)
โโโ tests/
โ โโโ Feature/ # Feature tests
โ โโโ Unit/ # Unit tests
โ โโโ Browser/ # Dusk browser tests
โโโ docker/ # Docker configuration
โโโ docs/ # Additional documentation
โโโ AGENTS.md # AI development guide
โโโ README.md # You are here
- Request Creation - Office staff creates drawing request
- Assignment - Auto-assigned to detailer based on workload
- Design Work - Detailer creates drawings
- Submittal - Package and submit to customer
- Approval Tracking - Monitor approval status
- Fab Handoff - Seamless transition to fabrication
DrawingFlow automatically handles different approval responses:
| Approval Type | Action | Fab Queue | Revision |
|---|---|---|---|
| Approved | โ Fab Queue | โ Created | No |
| Approved as Noted | โ Fab Queue (flagged) | โ Created | No |
| Revise & Resubmit | โ Back to Design | โ Not Created | โ A โ B |
| Rejected | โ Escalate | โ Not Created | No |
| Field Verify Required | โ Assign Field Tech | โธ๏ธ On Hold | No |
- Circle - Highlight areas of concern
- Arrow - Point to specific elements
- Text - Add comments and notes
- Highlight - Mark important sections
- Stamp - Apply approval stamps
- Dimension - Call out measurements
All markups are:
- Saved with user attribution
- Tracked in history
- Exportable as new PDF
- Mobile-friendly
Coming soon - we're building the thing first!
We welcome contributions! Please see CONTRIBUTING.md for details on:
- Code of conduct
- Development workflow
- Pull request process
- Coding standards
- Testing requirements
- ๐ Read the AGENTS.md for comprehensive project documentation
- ๐ Report bugs via GitHub Issues
- ๐ก Suggest features via GitHub Discussions
- ๐ง Email: [Your contact email here]
DrawingFlow is open-source software licensed under the MIT license.
- FabTrol - The legendary MRP system that set the standard for steel fabrication software
- SteelFlow MRP - The spiritual successor, providing patterns and architecture
Steel fabricators who deserve modern tools that actually understand their workflow.
- The steel fabrication community for feedback and insights
- Laravel community for an amazing framework
- Vue.js team for making frontend development enjoyable
- All contributors who help make DrawingFlow better
DrawingFlow started as a solution to a specific pain point: managing shop drawings in a steel fabrication shop. But the vision is bigger.
We're building a system that:
- Respects craftsmanship - Built by fabricators for fabricators
- Embraces modern tech - No compromises on developer experience
- Stays practical - Solves real problems, not imaginary ones
- Remains maintainable - Code that future developers won't hate
- Integrates seamlessly - Part of a larger ecosystem (SteelFlow MRP)
Because the steel fabrication industry deserves better software. By open-sourcing DrawingFlow, we hope to:
- Enable shops to customize it for their specific needs
- Learn from the community and improve continuously
- Lower the barrier to entry for modern shop management software
- Give back to the industry that's given us so much
Current Phase: Foundation (Phase 0)
Status: Active Development
Version: 0.1.0-alpha
Next Milestone: Phase 1 - Core Workflow Implementation
Check out the CHANGELOG.md for detailed version history.
- Steel Fabricators - Manage shop drawings from request to fab
- Detailers - Track submittal status and revisions
- Shop Managers - Visibility across all active drawings
- Project Managers - Monitor project drawing timelines
- Structural Steel Fabrication
- Miscellaneous Metals
- Railings & Ornamental Iron
- Industrial Fabrication
- Custom Metal Work
Join the DrawingFlow community:
- GitHub Discussions - Feature requests, questions, ideas
- Discord - Coming soon
- Twitter - Coming soon
Ideas we're exploring for future versions:
- Mobile App - Native iOS/Android for field use
- AI-Powered Approval Prediction - Learn from history to predict approval times
- 3D Model Integration - Preview 3D models alongside 2D drawings
- Collaborative Markup - Real-time multi-user markup sessions
- Voice Commands - Shop floor control via voice
- AR Overlay - Augmented reality drawing overlay for field verification
- Blockchain Certification - Immutable approval records
- Integration Marketplace - Connect with other fabrication tools
Got ideas? Share them in GitHub Discussions!
Built with โค๏ธ for steel fabricators who deserve better tools.