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 ---------- .. toctree:: :maxdepth: 1 :caption: Contents: program model repository controller view event reference Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`