ADV App
A multi-tenant SaaS platform for booking, scheduling and managing digital billboard ad campaigns, covering the full lifecycle from slot booking to broadcast.
- Client
- Digital billboard advertising platform, Canada
- Year
- 2025
- Category
- Web app
- Role
- Systems architecture, full-stack build
- Stack
- NestJS 10 · Next.js 14 · PostgreSQL · Prisma · AWS S3 + Aurora · BullMQ · Razorpay
Billboard campaign booking was a phone-calls-and-spreadsheets business. The platform had to handle media uploads, slot scheduling, payments and role-based access for four kinds of users, reliably and at production scale.
A modular NestJS backend of 13 feature modules covering auth, campaigns, slots, schedules, payments, broadcasts and more, on PostgreSQL via Prisma, with AWS S3 for media and Aurora RDS with IAM token auth. BullMQ handles async jobs, cron drives campaign scheduling, Razorpay processes INR payments.
The complete campaign lifecycle runs through one platform: advertisers book and pay, managers approve, screens broadcast on schedule. Four-role RBAC and refresh-token rotation keep every route locked to exactly who should touch it.
backend modules powering the full campaign lifecycle
The analytics dashboard answers an advertiser's only real question, 'is my money working?', with campaign performance charts front and center.
Aurora RDS connections authenticate with 15-minute IAM tokens; an automated refresh script regenerates them before every server start. No long-lived database passwords anywhere.