The image below shows a little about pgModele's modular construction and how all the pieces are tied together to make the whole application as we know it. The pgModeler project is composed of nine subprojects each one with well-defined purposes. Three of them generate the executables (
pgmodeler-ch) and the rest yields the modules or libraries that the executables depend on, being them: utils, core, parsers, pgconnector, gui and canvas. In the diagram below, the black arrows indicate the dependency between the libraries and executables. Note that except for the libxml2 and libpq libraries, all modules are dependent on the Qt framework which offers exceptional features to code multiplatform software.