{"id":33898691,"url":"https://github.com/blb3d/filaops","last_synced_at":"2026-04-15T05:01:28.491Z","repository":{"id":327820604,"uuid":"1110930976","full_name":"Blb3D/filaops","owner":"Blb3D","description":"3D Print Farm ERP - Production-grade manufacturing resource planning for additive manufacturing","archived":false,"fork":false,"pushed_at":"2026-04-11T15:52:03.000Z","size":17067,"stargazers_count":67,"open_issues_count":8,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-11T17:17:57.511Z","etag":null,"topics":["3d-printing","bom","docker","erp","fastapi","inventory-management","manufacturing","manufacturing-software","material-requirements-planning","mrp","open-source","print-farm","production-planning","react","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blb3D.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-06T00:18:23.000Z","updated_at":"2026-04-11T04:49:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"a7c7cf90-a4a0-4766-a6af-0e3682cbae8f","html_url":"https://github.com/Blb3D/filaops","commit_stats":null,"previous_names":["blb3d/filaops"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/Blb3D/filaops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blb3D%2Ffilaops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blb3D%2Ffilaops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blb3D%2Ffilaops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blb3D%2Ffilaops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blb3D","download_url":"https://codeload.github.com/Blb3D/filaops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blb3D%2Ffilaops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31826902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-printing","bom","docker","erp","fastapi","inventory-management","manufacturing","manufacturing-software","material-requirements-planning","mrp","open-source","print-farm","production-planning","react","self-hosted"],"created_at":"2025-12-11T21:04:08.607Z","updated_at":"2026-04-15T05:01:28.475Z","avatar_url":"https://github.com/Blb3D.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FilaOps\n\n[![CI](https://github.com/Blb3D/filaops/actions/workflows/filaops-ci.yml/badge.svg)](https://github.com/Blb3D/filaops/actions/workflows/filaops-ci.yml)\n[![CodeQL](https://github.com/Blb3D/filaops/actions/workflows/codeql.yml/badge.svg)](https://github.com/Blb3D/filaops/actions/workflows/codeql.yml)\n[![License: BSL 1.1](https://img.shields.io/badge/License-BSL_1.1-blue.svg)](LICENSE)\n[![Latest Release](https://img.shields.io/github/v/release/Blb3D/filaops)](https://github.com/Blb3D/filaops/releases/latest)\n\nOpen-source ERP for 3D print farms. Manage inventory, production, sales, purchasing, MRP, and accounting in one system built specifically for additive manufacturing.\n\n**[Documentation](https://blb3d.github.io/filaops/)** | **[Release Notes](https://github.com/Blb3D/filaops/releases/latest)**\n\n## Quick Start (Docker)\n\n```bash\ngit clone https://github.com/Blb3D/filaops.git\ncd filaops\ndocker compose up -d\n# Open http://localhost — create your admin account on first visit\n```\n\n## Quick Start (Manual)\n\n### Backend\n\n```bash\ncd backend\npython -m venv venv\n# Windows: .\\venv\\Scripts\\Activate\n# Linux/Mac: source venv/bin/activate\npip install -r requirements.txt\ncp .env.example .env  # Edit with your database credentials\nalembic upgrade head\nuvicorn app.main:app --reload\n```\n\n### Frontend\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n### Database\n\nFilaOps requires PostgreSQL 16+. Configure `backend/.env`:\n\n```ini\nDATABASE_URL=postgresql+psycopg://user:password@localhost:5432/filaops\n```\n\nOr use individual variables:\n\n```ini\nDB_HOST=localhost\nDB_PORT=5432\nDB_NAME=filaops\nDB_USER=postgres\nDB_PASSWORD=your_password\n```\n\n## Features\n\n48 core features across 8 modules:\n\n### Sales \u0026 Customers\n\n- Multi-line item quotes with per-line and customer discounts\n- Sales orders with fulfillment tracking and price level auto-apply\n- Invoice engine with PDF templates and payment recording\n- Customer management with payment terms (COD, net-15, net-30) and credit limits\n- Customer traceability profiles\n- Suggest Prices tool for margin-based bulk pricing\n- External order ingestion with operator notification inbox\n\n### Inventory \u0026 Warehouse\n\n- Multi-location inventory with transactions\n- Spool management (filament tracking by weight)\n- Cycle counting and inventory adjustments\n- Low stock alerts with MRP-driven shortage detection\n- Negative inventory approval workflow\n\n### Manufacturing\n\n- Production orders (draft \u003e released \u003e in progress \u003e complete)\n- Bill of Materials with multi-level cost rollup\n- Duplicate item with inline BOM component swap (color variants)\n- Variant matrix — bulk create color/material variants from template products\n- Copy BOM to another product\n- Routings and work centers with operation materials\n- Machine overhead and scrap tracking\n\n### Purchasing\n\n- Purchase orders with receiving workflow\n- Vendor management\n- Quick reorder from low stock alerts\n\n### MRP (Material Requirements Planning)\n\n- Demand calculation from sales orders and production\n- Supply netting against on-hand inventory\n- Planned order generation for shortages\n- Auto-trigger on order creation\n\n### Accounting\n\n- Chart of accounts and journal entries\n- GL reporting and trial balance\n- Period close\n\n### Operations\n\n- Command center dashboard\n- Security audit\n- Analytics\n- Maintenance scheduling\n- UOM conversions (12 standard units)\n\n### System\n\n- First-run setup wizard with admin account creation\n- Multi-user with role-based access\n- Password reset flow (SMTP or auto-approve)\n- REST API (432 endpoints)\n- Shipping and order event tracking\n\n## Tech Stack\n\n| Layer | Technology |\n| --- | --- |\n| Backend | FastAPI, Python 3.11+, SQLAlchemy 2.0, Alembic |\n| Frontend | React 19, Vite, Tailwind CSS |\n| Database | PostgreSQL 16+ |\n| Auth | httpOnly cookie-based JWT |\n| Deployment | Docker Compose (nginx + uvicorn) |\n\n## Project Structure\n\n```text\nbackend/\n  app/\n    api/v1/endpoints/   # FastAPI route handlers\n    models/             # SQLAlchemy models\n    services/           # 56 focused service modules\n    core/               # Config, security, UOM\n  alembic/              # Database migrations\n  tests/                # 95 test files, 80%+ coverage\nfrontend/\n  src/\n    components/         # Shared UI components + Storybook\n    hooks/              # useApi, useCRUD\n    pages/admin/        # Admin page views\n```\n\n## Testing\n\n```bash\n# Backend (95 test files, 80%+ coverage)\ncd backend \u0026\u0026 pytest tests/ -v\n\n# Frontend component tests\ncd frontend \u0026\u0026 npm test\n```\n\n## Troubleshooting\n\n### Frontend can't connect to backend\n\n- Ensure `VITE_API_URL` matches the backend URL (default: `http://localhost:8000`)\n- If accessing remotely, set `VITE_API_URL=http://\u003cserver-ip\u003e:8000` and rebuild\n- Check CORS: set `ALLOWED_ORIGINS` in `backend/.env`\n\n### Database connection errors\n\n- Verify PostgreSQL is running: `pg_isready -h localhost -p 5432`\n- Check credentials in `backend/.env`\n- Create the database if needed: `createdb filaops`\n\n### Migration errors\n\n- Run `alembic upgrade head` from `backend/`\n- For a fresh start: drop and recreate the database, then re-run migrations\n\n### Docker issues\n\n- Check logs: `docker compose logs backend`\n- Ensure ports 80, 8000, and 5432 are available\n- The migrate container must complete before the backend starts\n\n## Documentation\n\n- **[Full Documentation](https://blb3d.github.io/filaops/)** — Deployment, configuration, and API reference\n- [User Guide](docs/user-guide/index.md) — Module-by-module usage\n- [Contributing](CONTRIBUTING.md) — Development setup and PR guidelines\n\n## FilaOps PRO\n\nNeed B2B wholesale portals, advanced reporting, Shopify/QuickBooks integrations, or AI-powered scheduling? **FilaOps PRO** adds enterprise features on top of the same codebase — no migration, no separate install.\n\nComing soon at [blb3dprinting.com](https://blb3dprinting.com)\n\n## License\n\n[Business Source License 1.1](LICENSE) — Free for non-competing use. Converts to Apache 2.0 on December 5, 2029.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblb3d%2Ffilaops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblb3d%2Ffilaops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblb3d%2Ffilaops/lists"}