{{tutorial:general_architecture.png?500 | General architecture}} The project generation is determined by 3 steps: - Database schema (POJOs are generated from tables and constraints or copied from existing folder) - Scenarios, which can be customized, determine how to generate XML files: these files describe how Adichatz components are assembled. - Generators generate Java classes used by the application at runtime from XML files. \\ \\ __//Remark//__ * Adichatz framework and applications built with Adichatz use the same platform i.e. **Eclipse**. \\ Project could be completely customized: * Change on generated XML files ([[http://www.adichatz.org/document/FilmDI.xml|see example]]) is the easiest way to customize behavior of Adichatz Components. * All Adichatz components can be extended (e.g. see [[tutorial:extend_controller|Extend controller]]). * Listeners on component Life Cycles provide a way to complete customization (e.g. see [[tutorial:create_listener|Create a listener]]). * Info messages, warnings and errors can be triggered and managed (see [[tutorial:validation_process|Validation process]]). * Code could be added inside XML file.