Team Leadership Project
Led a team of 5 Backend Engineers to integrate an event management system on the official ATC Africa site. Focused on scalability, performance optimization, and seamless user experience.
ATC Africa needed a robust, backend-powered Event Management System to eliminate manual content updates and empower organizers to manage events end-to-end. The goal was to improve operational efficiency, transparency, and audience engagement across HQ, State, and Campus events.
The platform streamlines event operations, reduces developer bottlenecks, and showcases concluded events with measurable outcomes, boosting credibility and participation for future events.
Service-oriented backend built with NestJS exposing REST endpoints consumed by the official site. PostgreSQL (RDS) persists core entities, Redis accelerates reads, AWS S3 stores media, and Brevo handles transactional emails for lifecycle reminders.
Organizers create/update events → RBAC validates permissions → data stored in PostgreSQL → scheduled jobs monitor event dates → post-date, the system requests outcomes (media, attendance, slides) via Brevo emails → once submitted, status transitions to Concluded and content becomes visible on the site.
Opinionated modular architecture with DI and decorators
Simple, predictable integration surface for the website
RDS for PostgreSQL and S3 for object storage
Consistent runtime across environments and CI
Reliable relational store hosted on Amazon RDS
Caching with cache-manager to reduce response latency
Source control and team collaboration
Automated tests for critical modules
Sequence of event creation, approval, lifecycle monitoring, and conclusion with media submission and publication.

Complete system architecture and data flow diagram
Create/approve event → scheduler checks event date → if exceeded, email reminders are sent → organizer submits outcomes → API validates and persists → status = Concluded → frontend displays in concluded section.
Normalized schema around events, roles, and media artifacts. Event status and timestamps support automation; audit fields enable governance.

Core entities include events, users, roles/permissions, speakers, sponsors, media assets, and audit trails. Status fields drive lifecycle transitions.
Platform users with role assignments
Role definitions (Organizer/Manager/Admin)
Junction for user-to-role mapping
Event details, status, schedule, and metadata
Speakers linked to events
Sponsors linked to events
References to S3 objects and captions
Configurable CTAs for site engagement
Transforming a static process into a dynamic, automated system required strong domain modeling, secure access control, and robust scheduling and media flows.
Different actors needed scoped access to create, approve, and conclude events.
Events must transition post-date and prompt organizers for outcomes.
High-resolution photos and assets needed reliable storage and fast delivery.
The system now reliably manages events end-to-end with security, automation, and performant content delivery, reducing operational friction for the ATC Africa team.