Skip to content
Jorge López
Back to selected work

2026 · Zendata · Industrial plant (NDA)

Contractor document and access control

Coordinated changes across the API, web dashboard, and gate app for contractor access to an industrial plant: documents and expiry, OCR with manual fallback, and entry/exit rules. The release was validated with 750+ passing automated tests.

  • Laravel
  • Vue 3
  • Ionic
  • Automated tests
  • Authorization

My role

Coordinated changes across all three components (Laravel API, Vue dashboard, and Ionic app) and verification of their test suites.

Evidence

What I did

  • Document review with named owners, traceability, and expiry checks.
  • If OCR fails, the process continues through manual review.
  • Per-plant data isolation.
  • Entry/exit rules: a document revocation doesn't block the exit of someone already inside.
  • No duplicate records when the app retries a request.

What can be verified

  • Release validated across three components: 750+ passing automated tests, with clean lint and builds.

Next step

  • Screenshots of the flow with fictitious data.

The idea

Before entering a plant, a contractor needs valid documentation, and at the gate a guard decides entry and exit from a mobile app. The rules have to be strict about entries and safe about exits.

Decisions

  • Physical exit doesn’t depend on document status. If a document is revoked while the person is inside, blocking their exit protects nothing. Revocation only affects future entries.
  • OCR is an aid, not a single point of failure. If it fails, the case goes to manual review.
  • Retries without duplicates. With an unstable network at the gate, the system tolerates the same operation arriving twice.

Validation

The change touched the API, the dashboard, and the gate app at once, so it was validated in all three: the project’s suites passed, with clean lint and a passing build.

Navigation

Home/WorkworkExperienceexperienceStackstack

Actions & CLI

Curriculum Vitae (PDF)cvVisit GitHubgh
CLI: help · whoami · cv