GAM Documentation#

Welcome to the GAM (Generic Application Model) documentation. This documentation provides detailed information about the components and structure of the GAM architecture.

Introduction#

GAM (Generic Application Model) is a comprehensive architecture that consists of five key components working together to create robust and maintainable applications:

  1. Models - Contain data representing the application’s working space and domain entities - Store data and states - Focus purely on data representation without behavior

  2. Repositories - Provide a generic interface for accessing Model data - Implement OData pattern for:

    • Filtering

    • Expanding with sub-filters

    • Limiting results

    • Sorting (read operations)

    • Include extended syntax for data mutations (inspired by GraphQL)

  3. Controllers - Contain business logic - Pull data from repositories - Set data to models and states - Methods must receive parameters as objects

  4. Views - Render into Pages, Sections, and Components - Use declarative style - Implement two-way data binding pattern implicitly

  5. Events - Define trigger rules (when to trigger) - Specify handlers (controller methods) - Configure handler parameters

Components#

Indices and tables#