Since this information is only available on the course video located here, and I can't post on the [Hint and How to] forum, I'm adding there this quick reference sheet for the naming convention of OutSystems Modules.
FOUNDATION MODULES
- _Lib: Generic Library module.
- _IS: Integration Services - technical wrapper to consume and normalize an external service.
- _Drv: Driver module - to have several integration services with different systems, performing the same type of operation (e.g. printers) you can create several drivers exposing the same API, with specialized implementations (like the transparency services pattern).
- _Th: Theme, look & feel elements, menu, etc.
- _Pat: Reusable UI Patterns for layout and display only - no Business logic.
CORE MODULES
- _CS*: Reusable Core Services with public entities, actions, and blocks.
- _BL*, _CW*: Isolated Business Logic (Actions) or Core Widgets (blocks), to manage complexity, composition or to have its own lifecycle.
- _Eng: A BL becomes a Calculation Engine if it performs complex calculations, (e.g. an invoice calculation engine or an insurance simulator). Engines are usually subject to versions.
- _Sync: Logic to Synchronize data in CS's with an external system. Isolating this logic makes the CS completely system agnostic and it’s easier to decouple or replace the external system.
- _API: Technical wrapper to expose an API to External consumers, keeping core services system agnostic and supporting multiple versions of the API.
*Add a “M” for a Mobile module, like _MCS, _MBL or _MCW.