Skip to content

meistro57/SteelFlow-MRP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

316 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SteelπŸ—οΈlow MRP

SteelFlow MRP CI Laravel Vue Tailwind License

SteelFlow MRP is a next-generation Manufacturing Resource Planning system precision-engineered for the steel fabrication industry. It bridges the gap between complex engineering data and shop-floor execution.


🌟 Vision

To replace obsolete legacy systems with a high-performance, web-native platform that centralizes estimating, production, and logistics into a single source of truth.

image image image image image image image image image image image

πŸ“Š Current Status

Development Stage: Core Platform Built, Feature Implementation In Progress

SteelFlow MRP has a solid foundation with a complete database architecture (43 migrations, 70 models) and a massive modular service layer. The project is currently in active development with the core ERP footprint already established and operational.

  • βœ… Infrastructure: Docker environment, authentication, database schema, RBAC
  • βœ… Core Services: BOM, inventory, nesting, production, shipping, reporting, finance, NCR
  • πŸ”„ Controllers & UI: 22+ controllers and 45+ Inertia/Vue pages covering the entire manufacturing lifecycle
  • πŸ“… Estimating Module: Planned for future release

See the Roadmap & Progress section below for detailed status.

πŸ› οΈ The SteelFlow Stack

Backend Core

  • Framework: Laravel 11 (PHP 8.4+)
  • Database: MySQL 8.0
  • Cache/Queue: Redis + Laravel Horizon
  • Search Engine: Meilisearch (for sub-millisecond lookups)

Frontend Experience

  • Framework: Vue.js 3 + Inertia.js (The "Classic Monolith" feel with SPA speed)
  • State Management: Pinia
  • UI Architecture: Tailwind CSS + Headless UI

✨ Enterprise Features

  • πŸ“¦ BOM Management: High-fidelity tracking of piece marks, assemblies, and detailed part lists.
  • πŸ”Œ CAD Integration: Native parsers for KISS and XSR formats.
  • πŸ“ Material Optimization: 1D (Linear) and 2D (Plate) nesting engines to minimize waste.
  • πŸ›’ Smart Purchasing: PO lifecycle tracking with integrated Heat Number and Mill Cert management.
  • ⚑ Shop Floor Tracking: Real-time progress updates via mobile-first barcode/QR scanning.
  • 🚚 Logistics Control: Automated load building, BOL generation, and shipping history.
  • πŸ“ˆ Advanced Optimization: Optimize Linear Nesting module for maximum yield and remnant recovery.
  • πŸͺ Multi-mode POS: Point of Sale interface for retail, gas exchange, and quick service invoicing.
  • πŸ› οΈ Service & Operation: Dedicated Service Ticket and Shop Ticket modules for field and shop floor management.
  • πŸ“‰ Quality Control: Non-Conformance Report (NCR) tracking with integrated rework workflow.
  • βš–οΈ Financial Integrity: Three-Way Match validation (PO vs. Receipt vs. Invoice) for procurement.
  • πŸ’° Construction Billing: AIA-style Progress Billing with automatic retainage management.
  • 🌍 Global Ready: Seamless switching between Metric and Imperial systems at the core logic level.

πŸ—ΊοΈ Roadmap & Progress

Phase 1: Foundation βœ… Complete

  • Dockerized Development Environment (Docker Compose v2)
  • Database Schema Foundation (43 migrations)
  • Project & Master Data Models (70 models)
  • Base Environment Configuration
  • Microsoft 365 OAuth Integration
  • RBAC & Audit Trail Infrastructure
  • Modular Enterprise Architecture

Phase 2: BOM & Engineering πŸ”„ In Progress

  • Database Schema (migrations complete)
  • Models: Project, Assembly, Part, Drawing
  • Services: BOMExtensionService, ReferenceDataService
  • Import Services (KISS/XSR parsers)
  • DrawingController & UI
  • ProjectController & UI
  • Assembly/Part Management Interface
  • Weight & Pricing UI Integration
  • KISS/XSR Import UI

Phase 3: Procurement & Inventory πŸ”„ In Progress

  • Database Schema (migrations complete)
  • Models: PurchaseOrder, StockItem, ReceivingRecord
  • Services: InventoryService
  • Purchase Order Controllers & UI
  • Material Receiving Interface
  • Stock Tracking Dashboard
  • Heat Certificate Management UI

Phase 4: Optimization (Nesting) πŸ”„ In Progress

  • Database Schema (migrations complete)
  • Models: Nesting, NestingBar, NestingPart
  • Services: Nesting services
  • Nesting Controllers & UI
  • Linear Nesting Interface
  • Plate Nesting Integration
  • Cut List Generation UI

Phase 5: Shop Floor Execution πŸ”„ In Progress

  • Database Schema (migrations complete)
  • Models: ProductionBatch, WorkArea, TimeEntry, PartWorkArea
  • Services: Production services
  • ProductionController
  • Production Dashboard + Scan Pages
  • LabelService (ZPL generation)
  • Complete Barcode Tracking App
  • Work Area Routing Interface
  • Labor Time Clocking UI

Phase 6: Shipping & Logistics πŸ”„ In Progress

  • Database Schema (migrations complete)
  • Models: Load, LoadItem, ShippingDocument
  • Services: ShippingService
  • ShippingController + Dashboard UI
  • Load Builder Interface
  • BOL & Packing List Generation
  • Delivery Confirmation System

Phase 7: Reporting & Analytics πŸ”„ In Progress

  • ReportController
  • Services: ReportingService
  • Dashboard Page (basic)
  • BOM Reports (project BOM)
  • Purchasing Reports
  • Production Metrics Dashboard
  • Inventory Reports
  • Shipping Reports

Phase 8: Estimating Module πŸ“… Planned

  • Database Schema Design
  • Bid & Revision Management
  • Material Takeoff Engine
  • Labor Standard Application
  • Proposal & Quote Generation (PDF)
  • Bid-to-Project Conversion Logic

Phase 9: Specialized Modules βœ… Complete

  • NCR & Remediation: Quality failure state machine and remakes
  • Three-Way Match: Financial validation for procurement
  • Progress Billing: AIA standards and retainage calculations
  • Documents Module: Centralized storage with versioning and CAD links
  • AuditLog Module: Immutable history tracking for all changes
  • Shop Ticket Module: Digital production orders and real-time tracking
  • Finance & Billing: Comprehensive AP/AR and invoicing system
  • Optimize Linear Nesting: Yield maximization algorithms (Planned)
  • Point of Sale (POS): Retail and gas sales interface (Planned)
  • UI Editor Module: Visual dashboard and layout builder (Planned)
  • Service Ticket Module: Field service and maintenance tracking (Planned)

Legend: βœ… Complete | πŸ”„ In Progress | πŸ“… Planned


🐳 Docker Services

SteelFlow MRP runs on a fully containerized infrastructure:

Service Container Port Description
App steelflow-app - PHP 8.4 FPM application server
Web steelflow-web 80 Nginx web server (Alpine)
Database steelflow-db 3306 MySQL 8.0 database
Cache steelflow-redis - Redis for cache, sessions, and queues
Search steelflow-meilisearch 7700 Meilisearch for fast search indexing
Admin steelflow-phpmyadmin 8080 phpMyAdmin database management

πŸ”§ Installation & Setup

βš™οΈ Prerequisites

πŸš€ Quick Start

Option 1: Using the Install Script (Recommended for first-time setup)

# 1. Clone the repository
git clone https://github.com/meistro57/SteelFlow-MRP.git && cd SteelFlow-MRP

# 2. Configure the environment
cp .env.example .env

# 3. Run the install script
./scripts/install.sh

Option 2: Manual Setup

# 1. Clone the repository
git clone https://github.com/meistro57/SteelFlow-MRP.git && cd SteelFlow-MRP

# 2. Configure the environment
cp .env.example .env

# 3. Launch the containers
docker compose up -d

# 4. Initialize the application
docker compose exec app composer install
docker compose exec app php artisan key:generate
docker compose exec app php artisan migrate --seed

# 5. Compile the frontend
npm install && npm run dev

πŸ“± LAN & Mobile Access (HTTP/HTTPS)

Use this section when you want to open SteelFlow from a phone or tablet on the same Wi‑Fi network.

βœ… Find your host machine LAN IP

  • Linux/macOS: run hostname -I (Linux) or ipconfig getifaddr en0 (macOS) and pick the LAN address (usually 192.168.x.x or 10.x.x.x).
  • Windows: run ipconfig and use the IPv4 address listed under your active adapter.
  • Docker Desktop: your host LAN IP is still the one you use; containers are already mapped via docker compose.

🌐 Access from a phone (HTTP)

  1. Make sure your phone is on the same Wi‑Fi as your dev machine.
  2. Open the site in the phone browser using the LAN IP:
    • Nginx / app: http://<LAN-IP>/
    • Vite dev server (if running): http://<LAN-IP>:5173/

πŸ”’ Access from a phone (HTTPS)

If you have self‑signed HTTPS enabled (e.g. via mkcert/Traefik/Nginx):

  1. Browse to https://<LAN-IP>/ from the phone.
  2. Install and trust the local root CA used to sign the cert (not just the leaf cert):
    • iOS:
      • Send the CA file to the phone (AirDrop, Files, or email).
      • Install it via Settings β†’ General β†’ VPN & Device Management.
      • Enable trust in Settings β†’ General β†’ About β†’ Certificate Trust Settings.
    • Android:
      • Copy the CA file to the device.
      • Install via Settings β†’ Security β†’ Install a certificate β†’ CA certificate.
      • On newer Android versions, user‑installed CAs may not be trusted by all apps; browsers are usually fine.

⚠️ Common pitfalls

  • Firewall: allow inbound traffic to ports 80, 443, and 5173 (if Vite is running).
  • Captive portals: guest Wi‑Fi networks often block device‑to‑device traffic.
  • HMR host settings: Vite’s HMR host is set to localhost in vite.config.js.
    Update server.hmr.host to your LAN IP (or make it conditional via env) so mobile HMR works.
  • HTTPS + HMR: if using HTTPS for the dev server, ensure the HMR client is also pointed at the HTTPS host/port.

πŸ”„ Updating the Application

To update SteelFlow MRP after pulling new changes or updating dependencies, simply run:

./update.sh

This automated script will:

  • Pull the latest code from git (if applicable)
  • Rebuild Docker containers
  • Update all dependencies (PHP & Node)
  • Run database migrations
  • Seed the database (if empty)
  • Clear and rebuild all caches
  • Build frontend assets
  • Set proper permissions

Default Login Credentials (after seeding):

  • Email: admin@steelflow.local
  • Password: password

Default Database Credentials (.env file):

  • Database: steelflow
  • Username: steelflow
  • Password: secret

Note: These are development defaults. For production deployments, change the database credentials in your .env file to secure values.


πŸ“‚ Architecture Overview

app/
β”œβ”€β”€ Models/           # Core models (Projects, Assemblies, Parts, etc.)
β”œβ”€β”€ Services/         # Business logic (BOM, Nesting, Inventory, Shipping, etc.)
β”œβ”€β”€ Http/Controllers/ # Web controllers (Auth, Reports, Production, Labels, etc.)
└── Jobs/             # Background workers for heavy computations
Modules/
β”œβ”€β”€ Documents/        # Centralized file management & versioning (CAD drawings, KISS, etc.)
β”œβ”€β”€ Inventory/        # Material tracking, receiving and vendors
β”œβ”€β”€ Finance/          # Invoicing, Three-Way Match, Progress Billing
β”œβ”€β”€ NCR/              # Quality non-conformance tracking
β”œβ”€β”€ AuditLog/         # Immutable audit trails for all system actions
β”œβ”€β”€ Authz/            # Role-based access control and sophisticated permissions
β”œβ”€β”€ UPF/              # Legacy FabTrol material catalog compatibility
β”œβ”€β”€ ShopTicket/       # Digital production orders and real-time tracking
β”œβ”€β”€ PdfCenter/        # Automated document generation pipeline
β”œβ”€β”€ Backup/           # Automated data protection and cloud sync
└── ProductionScheduling/ # Machine capacity and maintenance planning
resources/
β”œβ”€β”€ js/
β”‚   β”œβ”€β”€ Components/   # Vue components (ThemeToggle, BarcodeScanner, etc.)
β”‚   └── Pages/        # Vue pages (Dashboard, Production, Reports, Auth)
└── views/            # Blade templates and PDF layouts
database/
└── migrations/       # 43 migrations covering all modules
docs/
β”œβ”€β”€ ESTIMATING_PLAN.md # Roadmap for the estimating module
β”œβ”€β”€ INSTALLATION.md    # Complete setup and installation guide
└── GUI_MANAGER.md     # Theme switching and UI customization
scripts/
β”œβ”€β”€ install.sh        # First-time installation script
└── update.sh         # Update and deployment script
CRUSH.md               # Core concepts and business rules reference
ROADMAP.md             # Development status and priorities

🀝 Community & Legacy

Open Source

Legacy Foundation

This project is built with deep respect for the original FabTrol system.


Built with ❀️ for the Steel Industry.

About

...Because I miss my old MRP system

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors