Certificate Verification Platform
A verification API for professional certificates: accreditors, companies, candidates, certificates and activities, built on lookup tables that extend without a schema change every time.
Overview
Issues and verifies accredited certificates: accreditors and companies, candidates and activities, and a unique verification code any third party can check.
01The challenge
Verifying a certificate has to be instant and definitive: was it actually issued, to whom, by which accreditor, and is it still valid? The problem is that certificate types, activities and statuses keep changing, so hard-coding them as columns means a schema change for every new type.
02What we built
We modelled the changing values as two-level lookup tables (lookup master and lookup detail): a type is defined as a row, not a column, so adding a certificate type, status or activity is data entry rather than a migration.
The core entities are clear and connected: an accreditor accredits a certificate, a certificate belongs to a candidate, a candidate belongs to a company, and an activity records what happened — so verification is one query that returns the whole picture.
03The outcome
Verification became a single API endpoint any party can call, and extending certificate types and statuses no longer needs a release.
What the system does
The modules that were delivered and put into daily use.
-
01
Connected entities: accreditors, companies, candidates, certificates and recorded activities.
-
02
Two-level lookup tables that allow new types and statuses as data rather than schema changes.
-
03
A verification API returning a certificate’s validity, its holder and its accreditor.
-
04
User and permission management with Sanctum-based authentication.
Technologies used
What this system is actually built on — not a generic list.