14 / 24Next →
Association & regulatory platform2026

Ceylon Gaming Association

The official platform for the Ceylon Gaming Association, covering membership, leadership, a regulatory directory, comparative gaming law, an interactive jurisdiction map, events, training, careers and news.

ContextSoftware Engineer, Global Trading, Inc.
Year2026
TypeWeb
StatusLive
RoleFull-stack web development

Project media coming soon

Screenshots and demo videos for this case study will appear here.

Overview

The website gives the association a structured public presence. It covers the mission, leadership, membership tiers, a directory of regulators, Sri Lankan and comparative gaming-law content, conferences, training, awards, careers, press and an FAQ. The visual identity is Sri Lanka-first: navy for authority, gold as a tea-and-spice accent and a recurring regulatory-seal motif.

Next.js 14TypeScriptMongoDBTailwind CSSFramer MotionDockerNginx
Challenge

The platform had to project institutional authority, make dense legal and regulatory information approachable, and keep news and events up to date without public pages depending on one data source.

Approach

I built it with Next.js 14 (App Router), TypeScript, Tailwind and Framer Motion. Mongoose models and API routes handle news, events, regulators and contact submissions, and typed seed data sits behind every database-backed section. The site ships as a Docker image behind Nginx.

Outcome

The live platform is a credible central reference for the association and supports ongoing publishing while staying resilient to database outages.

System architecture
01Web appNext.js 14 · TypeScript · Tailwind · Framer Motion

15 routes including regulatory directory, gaming laws, events, conferences, training, careers, press and FAQ.

02DataMongoDB · Mongoose

News, Event, Regulator and Contact models served through API routes, with hourly revalidation on reads.

03Content fallbackTyped seed modules

Directors, jurisdictions, frameworks, certifications, careers, events and news live as typed data that pages fall back to if the database is unavailable.

04DeliveryDocker · Nginx

A containerised Node 20 build behind an Nginx site configuration.

Engineering decisions
01

Never let the database blank a page

Every data read is wrapped so that a missing connection string, a failed query or an empty result falls back to bundled, typed seed data. Institutional pages stay complete during outages and in preview environments with no database.

02

Interactive jurisdictions, not a table

Partner jurisdictions appear on a zoomable world map rendered with react-simple-maps and d3-geo's Equal Earth projection. Each marker links to that jurisdiction's regulator and law content, which makes comparison easy to explore.

What I built
01Membership, leadership, sub-committees, strategic partners and awards content
02Regulatory-authority directory and cross-jurisdiction gaming-law comparison
03Zoomable jurisdiction map with linked regulator content
04MongoDB-backed news and events with bundled fallback data
05Conferences, training, careers, press, FAQ and a contact workflow
Next projectCGA News Channel →