ixaya / manager
An HMVC Framework, Superset of CodeIgniter
Installs: 2 283
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 3
Open Issues: 1
pkg:composer/ixaya/manager
Requires
- php: ^7.4 || ^8.0
- nielbuys/framework: ^3.1
Requires (Dev)
- phpstan/phpstan: ^2.1
README
# Ixaya / Manager HMVC Code Igniter based Framework for creating backends and complete websitesAbout this package
Ixaya Manager is a set of files, libraries, and modules that allows you to use Code Igniter to build a Backend with Login or a Complete Website if you prefer.
Features
- CodeIgniter upgradeable through Composer (always use latest version)
- Run the project (a webserver) using a shell script (no need to install Apache or Nginx during development (
http://localhost:8000) - HMVC
- Diferent folders for diferent modules:
modules/admin,modules/frontned, etc. - Support for MySQL, PostgreSQL, MSSQL, Sqlite, or any database that is supported in CodeIgniter 3.
- Different Database connection/technology per Model. (you can have a model that loads a Database from Postgres and another Model that loads a Database from MySQL.
- Responsive Theme (SB Admin 2 Template for the Backend)
- Login protected Admin module
- Examples to create a REST API
- Examples to send Native Apple Push Notifications or use Firebase for Android
- Production Tested
- try { } catch { } login for errors (an improvement over CodeIgniter's)
- Secured Application Folder from Public.
How to Install
To Install Manager you need to
Step by Step guide on OSX
- Install Homebew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - Install Git
brew install git - Install PHP (5.4+)
brew install php54orbrew install php72 - Install Composer
brew install composer - Clone Repository
git clone https://github.com/Ixaya/Manager.git - Update packages using composer
composer install - Run Server
sh bin/server.sh
Step by Step guide on Windows
- Install Git
https://git-scm.com/download/win - Install PHP (5.4+)
https://windows.php.net/download/ - Install Composer
https://getcomposer.org/download/ - Clone Repository
git clone https://github.com/Ixaya/Manager.git - Update packages using composer
composer install
Application Structure
Root Folder structure
We recomend you to create a folder named app and checkout the project inside.
composer.jsnapplication/public/bin/
Public Folder
public/public/media/This is where you put all the files uploaded from your userspublic/assets/{module}/jspublic/assets/{module}/csspublic/assets/{module}/imagespublic/assets/{module}/videos
Application Folder
application/application/views/Global Viewsapplication/thid_partyapplication/modulesWhere all your modules goapplication/modelsGlobal Modelsapplication/migrationsapplication/librariesGlobal Librariesapplication/languageGlobal Languageapplication/hooksGlobal Hooksapplication/helpersGlobal Helpersapplication/databaseapplication/controllersGlobal Controllersapplication/configConfiguration of your Appapplication/cache
Modules Folder
Inside the modules folder you can have any folder that goes inside Application, like: Models, Views, Controllers
application/modulesapplication/modules/{module}/viewsapplication/modules/{module}/controllersapplication/modules/{module}/modelsapplication/modules/{module}/librariesapplication/modules/{module}/languageapplication/modules/{module}/....and more
PHP Validations
Run static code analysis using PHPStan:
-
Standard analysis:
./vendor/bin/phpstan analyse
-
With increased memory limit:
./vendor/bin/phpstan analyse --memory-limit=512M
Tip: Use the memory limit option if you encounter out-of-memory errors during analysis.
## PHP Unit Testing Run unit tests using PHPUnit:
- Run all tests:
./vendor/bin/phpunit
- Run specific test file:
./vendor/bin/phpunit tests/Unit/ExampleTest.php
- Run tests with verbose output:
./vendor/bin/phpunit --verbose
- Run tests in specific group/category:
./vendor/bin/phpunit --group unit
Tip: Use
--testdoxflag for readable test output, or--stop-on-failureto halt execution on the first failed test.