DevInfinity
All projects
Website System

TREC Certification E-Filing Portal

Document management, audit and supply-chain traceability for a palm-oil sustainability consultancy.

  • Laravel 12
  • PHP 8
  • SQLite
  • PDF.js
  • Blade
Screenshots
30 screenshots
Interactive demos
18 interactive demos
Features
86 features

Public landing page: 3-slide hero with BM/EN toggle

1 / 30

What it does

Features, in plain words.

Clients upload compliance records against scheduled requirements, admins track deadlines and certificate expiry, and auditors build reports from a view-only evidence viewer. Four roles, granular permissions, BM/EN throughout.

  • Four roles, one portal

    Superadmin, Admin (with per-feature permissions), Client and Auditor each get their own dashboard. Permissions are enforced at the route level, so every page and form is covered.

  • Schedules derived from uploads

    A requirement's cycle starts from the client's first upload and chains forward weekly, monthly or yearly. Missed periods are flagged and can only be reopened by an admin.

  • Deadline and expiry tracking

    Colour bands (green > 90 days, amber 30–90, red < 30, expired) on the admin dashboard; urgency chips on every client task card.

  • Safe uploads

    Drag-and-drop with instant type/size validation. Files are checked by content and extension, stored on disk per client, with only the path kept in the database.

  • View-only evidence viewer

    Auditors open a client’s documents inside the portal only. The browser’s download and print controls are hidden, printing produces a blank page and right-click is disabled. Nothing leaves the system.

  • Supply-chain traceability

    Mills and dealers upload their supplier lists from an Excel template; the portal matches entities, builds the full refinery → mill → estate chain, flags gaps and duplicates, and exports it.

  • Auditor access approvals

    Admin assigns an auditor → auditor requests access → client approves → 48-hour audit window opens. Every step is visible on the auditor's dashboard.

  • Help desk and announcements

    Clients raise help requests (rate-limited); admins respond, close and broadcast announcements to all clients.

  • Activity log and security

    Paired login/logout sessions with duration, document and system activity for 30 days. Session timeout with warning modal, suspicious-login alerts, bcrypt passwords.

  • Bahasa Melayu and English

    Every page has a BM/EN toggle; the client interface defaults to BM for local estate and mill operators.

Full feature list

Everything this system does: all 86 features.

Grouped by module, so you can see how much a project like this actually covers.

01

Public site & sign-in

8
  • Public landing page: 3-slide auto-rotating hero, About, Contact, footer
  • Public self-registration form (/daftar) with superadmin approval queue
  • Login rate-limited per IP and per username (5/min each)
  • Password show/hide toggle and Caps Lock warning
  • Role-based redirect after login; inactive accounts blocked
02

Roles & permissions

6
  • Four roles: Superadmin, Admin, Client, Auditor
  • Granular admin permissions: clients, auditors, templates, activity log, help requests, auditor access, supply chain
  • Permissions enforced at route level, so every page and form submission is covered
  • Client and auditor account actions restricted to superadmin
  • Password re-entry for destructive actions (clear all logs, remove all requirements)
03

Admin: clients & files

13
  • Dashboard: client totals, active/inactive/expired, certificate expiry colour bands
  • All Users: tabbed directory of clients, admins, auditors (tab kept in URL)
  • Register client wizard: company & officer details, account credentials
  • Category-aware fields: Estate (FFB crop/year), Mill (CPO, capacity), Dealer, parent company
  • Category templates assigned automatically on registration
04

Document templates & schedules

10
  • Nested document template tree with custom categories (Estate / Mill / Dealer / your own)
  • Every node is a real document; assigning a main file assigns its whole subtree
  • Untick sub-files a client doesn't need before assigning
  • Default schedule per template, copied on assignment
  • Frequencies: weekly, monthly, 3×/year, 4×/year, yearly (1–5 yrs), permanent (Kekal)
05

Client portal

13
  • Dashboard: alerts, announcements, progress ring, pending/rejected counts
  • Compliance calendar with due and missed days marked
  • Folder-based document explorer mirroring the template tree
  • Drag & drop upload zone with instant type/size validation and file chips
  • Batch upload: all files in one request with a sticky 'Send all' bar
06

Auditor

7
  • Dashboard with 4-step access workflow: assigned → request → client approval → report
  • 48-hour report window after approval, with countdown
  • Standard picker limited to the client's ticked standards
  • Internal audit report: letterhead and company details pulled live from the client record
  • Evidence per clause chosen from the client's uploaded documents
07

Audit standards (admin)

5
  • Standards registry: MSPO, MSPO Biogas, COPM, ISCC, RSPO, RSPO SCCS, plus your own
  • Per-standard clause & principle template editor (inline, auto-growing)
  • Default shared template or per-client custom template
  • Evidence document assignment per clause via folder-tree picker (auto-saves)
  • Delete blocked while audit reports still reference a standard
08

Supply chain traceability

8
  • Supplier list upload via Excel template; rejected rows returned as a CSV error report
  • Relationship rules: refinery → mill → estate / dealer / smallholder
  • Entity matching by MPOB no. → SSM no. → normalised name + state, with duplicate scoring
  • Traceability tree: recursive, lazy-loaded, in-tree search, 'gaps only' toggle
  • Entity registry with instant client-side filtering and entity detail pages
09

Communication & audit trail

5
  • Help desk: view, filter by status, respond, close, delete closed
  • Announcements broadcast to all clients
  • Activity log: paired login/logout sessions with duration, document and system activity
  • 30-day log retention with nightly pruning
  • Login logging and suspicious-login alerts
10

Platform, UX & security

11
  • BM / EN toggle on every page
  • Light and dark theme
  • Toast notifications with progress bar; errors stay inline
  • Anti double-submit: buttons disable and spin on submit
  • Styled confirm modals for risky actions

Try the features

Click around: these are working mini versions.

Each demo is a small, self-contained copy of one real feature from this project. Nothing is saved and nothing leaves your browser.

Compliance tracker

Required documents with deadline urgency chips. Upload one and watch the progress update.

Try it: submit required documents

1/4 · 25%
  • SOP: Occupational Safety & Health

    Submitted
  • Environmental impact assessment

    6d left
  • Worker training records (Q3)

    19d left
  • Chemical usage register

    3d overdue
Green > 7 days · amber ≤ 7 · red overdue

Document schedules

Weekly to yearly or permanent, with an anchor date. Cycle chips show done, current, missed and upcoming.

Try it: document schedules

Cycles this year: click a chip to simulate an upload

green = uploaded · amber = current period · red = missed (admin must reopen) · grey = upcoming

Upload rules

PDF and images only, 6 MB stored, oversized files compressed. Everything else is rejected on the spot.

Try it: upload rules

Click a file to “drop” it into the zone

Drag & drop files here: PDF, PNG, JPG · max 6 MB (up to 25 MB compressed)

0 of 0 will upload

Reject & resubmit

Admin rejects with a reason; the client sees it, re-uploads, and the old file is replaced.

Try it: reject & resubmit

Admin: task table

Chemical usage register

chemical-register-v1.pdf

Client: documents

Chemical usage registerDihantar

Roles & permissions

Four roles, and per-feature permissions for admins set by the superadmin.

Try it: switch roles and permissions

Sidebar for Admin

  • Dashboard
  • All Users
  • Register client
  • Help requests

Permissions (set by superadmin)

Login protection

Five wrong passwords → 60-second lock, show/hide password, Caps Lock warning, every attempt logged.

Try it: login protection

⚠ Caps Lock is on5 attempts left
  • login log: attempts appear here

Self-registration & approval

Public /daftar form feeds a queue; superadmin approval creates the account and assigns category templates.

Try it: public self-registration → approval

/daftar: public form

Superadmin: Registrations

  • Ladang Bukit HijauEstate

Certificate expiry bands

Green, amber, red and expired: the same bands the admin dashboard uses.

Try it: certificate expiry bands

Attention: 30 to 90 days
expired3090365
  • Ladang Jaya Estate
    212d
  • Kilang Sawit Merbok
    64d
  • Pekebun Kecil Baling
    12d
  • Your client
    45d

Document template tree

Nested templates where every node is a document; assigning a main file includes its active sub-files.

Try it: document template tree

  • Safety & Health SOP3 sub
    • Risk assessment
    • PPE issue register1 sub
      • Quarterly PPE audit
  • Environmental impact assessment1 sub
    • Water discharge report
  • Worker training records

0 requirements assigned to Ladang Jaya Estate · assigning a main file includes every active sub-file

Explorer-style file grid

Click, Ctrl+click, Shift+click to select; right-click to move, reject or delete.

Try it: explorer-style file grid

0 selected · click / Ctrl / Shift · right-click for actions

Auditor access workflow

Admin assigns, auditor requests, client approves, and a 48-hour report window opens.

Try it: auditor access workflow

  1. 1Admin assigns
  2. 2Auditor requests
  3. 3Client approves
  4. 448-hour report window
AdminMake Ladang Jaya Estate visible to auditor Azlan?

View-only evidence viewer

Auditors read documents inside the portal only. Download, print and right-click are blocked.

Try it: view-only evidence viewer

SOP 04: Occupational Safety & Health.pdf view only

SOP 04: Occupational Safety & Health

Rev 3 · Ladang Jaya Estate · page 1 of 6

Try right-clicking the page·

Internal audit report

Letterhead from the client record, one row per clause, evidence chosen from the client's uploads.

Try it: internal audit report

Internal audit report · MSPO

Company
Ladang Jaya Sdn Bhd
Address
Lot 1180, Jalan Merbok, 08100 Bedong, Kedah
Contact
Aminah K · 04-457 1120
MPOB / site
E-2210 · Merbok, Kedah

letterhead pulled live from the client record

ClauseEvidence
4.1.1 Policy on sustainability
4.1.2 Internal audit
4.2.1 Transparency of documents
4.3.1 Legal compliance

1 of 4 clauses saved · evidence list = this client's uploads only

Supply-chain traceability

Refinery → mill → estate tree with search and a gaps-only toggle for entities with no supplier list.

Try it: supply-chain traceability

  • Kilang Penapisan Selatanrefinery
    • Kilang Sawit Merbokmill
    • Kilang Sawit Sikmill no list

Rules: refinery → mill · mill → estate / dealer / smallholder · dealer → dealer / smallholder

Supplier entity matching

MPOB no. → SSM no. → name + state similarity → new entity. Exactly how uploaded rows are matched.

Try it: supplier entity matching

  1. 1. MPOB no.
  2. 2. SSM no.
  3. 3. Name + state
  4. 4. New entity

Matched by name + state

Ladang Jaya Sdn Bhd · Kedah · E-2210

Help desk

Clients raise up to 3 requests an hour; admins filter, respond, close and delete closed ones.

Try it: help desk

  • Cannot upload PDF larger than 6 MBanswered

    Admin: Compress it or use the built-in Compress & Upload button.

Announcements

Admin publishes once; every client dashboard shows it.

Try it: announcements

Admin: new announcement

Client dashboard: Pengumuman1

  • Audit season starts 1 Oct: please complete all September uploads.

    12 Sep

Bahasa Melayu / English

Every page has a BM/EN switch. Clients default to BM.

Try it: BM / EN toggle

Papan Pemuka
  • Ringkasan
  • Dokumen
  • Minta Bantuan

Peringatan

Tugasan "MSPO" perlu dimuat naik dalam 1 hari.

Kemajuan keseluruhan

1 / 3 dokumen selesai dihantar

Menunggu 2 · Ditolak 0

Your turn

Need something like this for your business?

Tell me what you run and what slows you down. I'll reply on WhatsApp within a day with what I'd build and what it would cost.