RANGGAEGHAPERMANA
Back to projects
  • Manufacturing ERP · Workflow & Approval
  • 2026

Case study · 04 / 08

FactoryHub × ShopFloor RJO

Tooling and machine repairs, tracked from the production request through Quality trials to head approval.

FactoryHub × ShopFloor RJO — screenshot

An Equipment Job Request (RJO) workflow for production tooling and machine repairs on top of the iDempiere ERP. Grown in FactoryHub from a basic RJO CRUD into a cross-department request, repair, trial, and approval flow, then ported into ShopFloor, PT Tri Centrum Fortuna's shopfloor ERP portal.

My role
Software Engineer Intern · Full-stack
Status
FactoryHub main · ShopFloor port not yet merged

Key achievement

Turned a basic repair-request CRUD into a cross-department workflow connected to the ERP, then brought it into the main ERP portal.

Private company repositories · part numbers and model codes in the screenshots are masked
FactoryHub × ShopFloor RJO — screenshot

01 · Context

The problem this project solves.

Primary users

  • Production (requesters)
  • Engineering and Maintenance
  • Quality / QC
  • Section and department heads

The problem

Repair requests for tooling and machines started as basic CRUD: a request could be created and printed, but nobody could tell who had to act next. Quality trials, sequential approvals, and rework cycles were not recorded, so repair progress was hard to follow per department.

The approach

The RJO was rebuilt as a cross-department state machine. Production submits a request with damage photos, Engineering or Maintenance does the repair, Quality records OK/NG trials, and department heads approve in sequence before the iDempiere document is completed. Each role gets Request, Responder, Approval, and Monitoring pages scoped to its access.

Key numbers

  • 65non-merge commits on FactoryHub (67%)
  • 6user access groups
  • 18Pest and node:test files

02 · My role

What I worked on.

Software Engineer Intern · Full-stack

Technology used

  • Laravel 12
  • iDempiere REST API
  • Tailwind CSS 4
  • Alpine.js
  • PostgreSQL
  • DomPDF
  • PhpSpreadsheet
  • Pest 4
  • Laravel 11 (ShopFloor)
  • Bootstrap 5 (ShopFloor)
  1. 01

    Redesigned the RJO as a staged flow: Production request, repair, Quality trial, rework, and head approval.

  2. 02

    Connected the final approval to the iDempiere ERP so a document completes only after every approval.

  3. 03

    Built a monitoring dashboard with Pareto charts, filters, and Excel export for Engineering and Maintenance.

  4. 04

    Built dedicated mobile views for the production floor, including damage photos straight from the camera.

  5. 05

    Ported the module into ShopFloor, the company's main ERP portal, adapting to its different login flow and theme.

03 · Highlights

A few selected screens.

Click an image to view it larger.

Swipe through them all, tap an image to enlarge it.

Web

Monitoring dashboard

Status cards that double as filters and a Pareto chart of the most frequent tooling problems.

Web

Sequential approval

Engineering/Maintenance approve first, then Production, before the document completes in the ERP.

Web

Work queue per department

Each team immediately sees the work waiting for them.

Mobile

Production-floor view

A mobile view with next-step hints and bottom navigation for operators.

01 / 04

04 · Challenges & decisions

Technical problems and how I solved them.

01 · Challenge

Nobody could tell who had to act next

Approach

Every RJO has a status and an owner for the next step, with separate queues for requesters, responders, and approvers.

Result

Each department immediately sees the work waiting for them.

02 · Challenge

Failed trials had to be repeated without a new document

Approach

OK/NG trial results are recorded, and an NG trial opens a rework cycle on the same document.

Result

The full repair history stays in one document.

03 · Challenge

ERP data must never be half-done

Approach

The final approval completes the document in the ERP and is not saved if the ERP call fails.

Result

The portal and the ERP always show the same status.

01 / 03

05 · Outcome

What the solution delivers.

Every RJO has a status, an owner for the next step, a trial history, and an approval trail that each department can follow. ERP documents are completed only after both approvals, and the workflow, access, and export rules are covered by 18 test files.

User flow

  1. 01Production submits RJO + photos
  2. 02Engineering/Maintenance receives
  3. 03Repair in progress
  4. 04Quality OK/NG trial
  5. 05NG returns to rework
  6. 06Sequential head approval
  7. 07Completed in iDempiere

Architecture

Interface

Blade · Tailwind CSS · Alpine.js · desktop and mobile layouts

Application

Laravel · staged workflow · department-based access

ERP integration

iDempiere REST API · document status synced on final approval

Output

Pareto charts · Excel export · print-ready PDF

Next projectPeruri HR Portal & Operations UIMaking dense HR operations information easier to read.