Giscuit tries to follow in structure and coding standards of the libraries it uses.
So in the backend the structure will be similar to Zend Framwork and in frontend to YUI and OpenLayers.
application/languages/ - Translation files in TMX format
application/layouts/ - Layouts of modules (default/admin/tool).
This layouts control the general look of the page or the admin panel.
application/modules/MODULE_NAME/controllers/ - Your application's action controllers contain your application workflow, and do the work of mapping your requests to the appropriate models and views.
For example when you request http://YOUR_DOMAIN/en/default/news/get the method getAction of the news controller in the default module will be called (application/modules/default/controllers/NewsController.php).
application/modules/MODULE_NAME/views/scripts/ - Views are written in plain old PHP.
For example we have an NewsController and an ErrorController, and thus we have corresponding news/ and error/ subdirectories within our view scripts directory.
Within these subdirectories, you will then find and create view scripts that correspond to each controller action exposed; in the default case, we thus have the view scripts news/get.phtml and error/error.phtml.
View scripts may contain any markup you want, and use the <?php opening tag and ?> closing tag to insert PHP directives.
configs/config.xml - Application configuration
configs/default.map - Map output formats
configs/symbols.sym - Map symbols definitions
library/Controller/Action/Helper/ - Action Helpers allow developers to inject runtime and/or on-demand functionality into any Action Controllers that extend Zend_Controller_Action.
library/Controller/Plugin/ - The controller architecture includes a plugin system that allows user code to be called when certain events occur in the controller process lifetime.
Use plugins to add custom tools to the application.
library/Db/Table/ - Models of database tables
library/Db/Table/Layer/ - Models of database tables that represent vector layers
library/Filter/ - Filter is typically used for removing unwanted portions of input, and the desired portion of the input passes through as filter output.
library/Form/ - Zend_Form simplifies form creation and handling in your web application.
It performs the following tasks: Element input filtering and validation, Element ordering, Element and Form rendering including escaping, Element and form grouping, Element and form-level configuration.
library/Map/Layer/ - Models of PHPMapscript layers.
library/Validate/ - A validator examines its input with respect to some requirements and produces a boolean result - whether the input successfully validates against the requirements.
library/View/Helper/ - In your view scripts, often it is necessary to perform certain complex functions over and over: e.g., formatting a date, generating form elements, or displaying action links.
Default folder for raster data
Temporary files folder
CSS files for default and admin modules
public/static/img/ - Application images
Tiles generated by tilecache go here