Skip to main content
All projects

Case study

Compliance Hub — Bangladesh Labour Law & Compliance Portal

Compliance Hub puts the full text of four Bangladesh labour laws — 1,373 sections, rules, schedules and forms — into one searchable portal, alongside audit guides for ten compliance standards, interactive checklists and a documentation library. Everything on the site is editable through a custom admin panel backed by MySQL.

React 18ViteTailwind CSSNode.jsMySQL / MariaDBREST APIHostinger

Key features

  • Full-text search across four laws and three languages, with section-number autocomplete
  • Automatic cross-references: "Section 100" or "Rule 14" in the text links to that provision
  • Side-by-side language comparison, bookmarks, copy-citation, print and dark mode
  • Interactive audit checklists with readiness score, filters and CSV export
  • Admin CMS: create, edit, reorder and delete every record; block-based guide editor; media library; draft mode; version history with one-click restore; full export/import
  • Runtime theming — brand colours, logo, menus and interface text are editable from the admin
  • Mobile-first: tested from 320 px up, with specific handling for Facebook's in-app browser

• Text recovered without OCR: the EPZ Labour Rules 2022 existed only as a PDF with a legacy Bangla font. I mapped glyph IDs back to Unicode through the font's own tables and verified the result by re-shaping it with HarfBuzz (99.98% match). • Storage layer with a fallback: content lives in MySQL, one row per provision, saved in transactions that touch only changed rows. A JSON copy on disk keeps the site readable if the database is unreachable. • Security: scrypt password hashing, signed sessions that are revoked when the password changes, login throttling, a strict Content-Security-Policy, HSTS, and drafts withheld from the public API. • Performance: gzip cached per content version and ETag revalidation, so a return visit downloads about 3 KB instead of ~2.5 MB of law text. • Hosting constraint solved: the host kills any process that starts Node's thread pool, so the server uses only synchronous file I/O and resolves database hosts itself.

Need software like this?

Tell me what you need — a website, business software, or IT support — and I'll get back to you with a clear plan and quote.