Yggdrasil php framework for non-public applications
Yggdrasil is a web application framework based on the CodeIgniter 3.0 php framework - Yggdrasil makes it easy to build web applications. We have not reinvented the wheel we have created Yggdrasil from available open-source libraries such as CodeIgniter, CodeIgniter Rest Server, CodeIgniter-Ion-Auth, HMVC Modular Extensions,
The software architecture principal used is extremely DRY (Do not Repeat Yourself) and there are no code generators and endless configuration files.
The modular extension extends the CodeIgniter framework. Modules are groups of independent mini applications, typically following the MVC methodology (model, view, controller), arranged in an application modules sub-directory that can be dropped into other CodeIgniter applications.
RESTful API
With the CodeIgniter Rest server the CodeIgniter is extended so we can create a RESTful API for the modules. See this article - Working with RESTful Services in CodeIgniter
What can you do with the RESTFul API: You can built a javascript app for your browser that interacts with the RESTFul API to get json data that can be used by the javascript to display information.
The default theme is based Bootstrap, Bootsrap is a intuitive and powerful mobile first front-end framework for faster and easier web development.The main modules are Users, Settings, Maintenance, Modules and Logs.
The Users module is built to support group management, permission settings, user login and user creation.
The Settings module is used for the configuration of the yggdrasil platform.
The module module is used to enable or disable modules in the system, it is also used when a new module is intorudced as it will add the new module to the module table in the database.
The system module is used to clear cache or backup data from the database.
The log module reads the log file created by the application when there is a problem in the applicaiton.
After you install yggdrasil, it is recommended that you go to app -> config -> config.php to change the Session Variables - set the $config['sess_driver'] to database.