About the project
A custom ERP for a manufacturing plant that makes parts and assembly units to customer orders. Before it, route sheets, shift reports and stock records lived on paper and in spreadsheets. We moved the whole production cycle into one web system: from the technical process of a part to the finished product on the warehouse shelf.
What we built:
- Catalogs: parts and assembly units, materials, additional materials and typical operations used everywhere else in the system.
- Technical processes: a template for each part with its operations, materials, additional materials and resulting items, so a new route sheet is filled in from the template instead of by hand.
- Orders and customers: production orders with customers and statuses, each broken down into route sheets.
- Electronic route sheets: the part, its factory number, materials and operations in order, each with a performer: an employee, a brigade or a subcontractor. Statuses move from created to published, in progress, finished and closed, and a route sheet can be cloned to split a batch.
- Warehouse that keeps itself up to date: when the first operation starts, its materials are written off the warehouse; when work is finished, the items arrive as unfinished or finished products. Every movement of materials, additional materials and products is kept in the history, split by warehouse sections.
- Pay and quality: a tariff grid of grades and hourly rates, operation cost calculated from hours and grade, shift reports by performer with hours, earnings, suitable quantity and quality control date, and defect acts on operations.
- Access by role: users and roles with permissions checked both on the server and in the interface, so each employee sees only the sections and actions of their job.
How it is built: a Laravel REST API with token authentication and a single-page interface on Vue 3 with TypeScript, Pinia and Element Plus, with search, filters by date and status, and pagination in every list.
Result: route sheets, shift reports and stock levels are kept in one place and always match each other, and pay for operations is calculated from the same data the shop floor enters.