abydahana / aksara-core
Aksara Core Package - A CodeIgniter-based CRUD toolkit to build applications quickly and reliably.
Requires
- php: ^8.2
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- brick/geo: ^0.13.1
- chillerlan/php-qrcode: ^3.3
- codeigniter4/framework: ~4.7.0
- gasparesganga/php-shapefile: ^3.4
- halaxa/json-machine: ^1.1
- hybridauth/hybridauth: ^3.10
- mpdf/mpdf: ^8.0
- phpoffice/phpspreadsheet: ^2.2
- phpoffice/phpword: ^1.4
- picqer/php-barcode-generator: ^2.1
- twig/twig: ^3.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- phpstan/phpdoc-parser: ^1.16
README
Aksara Core is the official Composer package that contains the runtime engine for Aksara CMS.
Its purpose is to separate the Aksara framework from individual applications so the core can be updated independently through Composer, while keeping project-specific code untouched.
Features
- Composer-based installation
- Modular architecture
- Built on CodeIgniter 4
- Independent core updates
- Backward-compatible architecture where possible
- Separation between framework and application code
Project Structure
A typical application using Aksara Core looks like this:
my-app/
├── modules/
├── themes/
├── public/
├── writable/
├── install/
├── .env
├── config.php
├── composer.json
└── vendor/
├── abydahana/
│ └── aksara-core/
└── codeigniter4/
The application only contains project-specific resources.
The framework itself lives inside:
vendor/abydahana/aksara-core
What's Inside Aksara Core
The package contains the runtime components of Aksara, including:
- Configuration
- Base Controllers
- Models
- Libraries
- Helpers
- Language files
- Laboratory components
- Built-in Modules
- Views
- Database components
- Framework resources
Application-specific modules, themes, uploads, writable data, and configuration remain outside the package.
Installation
Create a new Aksara application:
composer create-project abydahana/aksara-starter my-app
Or install the core package manually:
composer require abydahana/aksara-core
Updating
Updating the framework is as simple as:
composer update abydahana/aksara-core
This updates only the framework package.
Project resources such as:
- modules
- themes
- uploads
- writable
.envconfig.php
remain untouched.
Philosophy
Aksara follows a clear separation of responsibilities.
Aksara Core
- Framework
- Runtime
- Built-in modules
- Configuration
- Libraries
- Helpers
- Rendering engine
Application
- Business modules
- Themes
- Assets
- Environment configuration
- Writable data
- Installer configuration
This architecture makes it easier to maintain multiple projects while sharing the same framework.
Compatibility
Aksara Core is designed to preserve existing Aksara behavior whenever possible.
Applications can continue using custom modules while benefiting from independent framework updates through Composer.
License
MIT License.
Author
Aby Dahana