This guide walks you through creating a new domain module in the TN Naija Membership Portal API. Every module follows the Module Facade Pattern - a single index.ts file exposes a static system class as the module's public API, while all internals (actions, models, controllers, routes) remain private.
Most modules are HTTP-facing and expose route properties. Service modules (like notifications) can skip Controllers/Routes and expose only callable methods through the facade.
Use the existing members module as a living reference throughout this guide.