rinvex / cortex
Rinvex Cortex is a solid foundation for enterprise solutions, that provides a flexible and extensible architecture for building multi-lingual, multi-tenant applications with content management, themeable views, application modules and much more.
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 2 042
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.3.0
- ext-curl: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-pdo: *
- aws/aws-sdk-php: ^3.300.0
- cortex/auth: ^1.0.0
- cortex/panels: ^1.0.0
- cortex/tenants: ^1.0.0
- guzzlehttp/guzzle: ^7.9.0
- laravel/framework: ^11.0.0 || ^12.0.0
- laravel/tinker: ^2.9.0
- league/flysystem-aws-s3-v3: ^3.28.0
- predis/predis: ^2.2.0
- pusher/pusher-php-server: ^7.2.0
- spatie/laravel-db-snapshots: ^2.6.0
- spatie/laravel-ignition: ^2.8.0
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.13.0
- barryvdh/laravel-ide-helper: ^3.1.0
- beyondcode/laravel-dump-server: ^2.0.0
- beyondcode/laravel-self-diagnosis: ^2.0
- driftingly/rector-laravel: ^1.2.0
- fakerphp/faker: ^1.23.0
- itsgoingd/clockwork: ^5.2.0
- larastan/larastan: ^2.9.0
- mockery/mockery: ^1.6.0
- nunomaduro/collision: ^8.3.0
- pestphp/pest: ^2.34.0
- pestphp/pest-plugin-stressless: ^2.2.0
- phpstan/phpstan-deprecation-rules: ^1.2.0
- phpstan/phpstan-strict-rules: ^1.6
- roave/security-advisories: dev-master
- spaze/phpstan-disallowed-calls: ^3.4.0
- staabm/phpstan-todo-by: ^0.1.27
- symfony/thanks: ^1.3.0
- wnx/laravel-stats: ^2.13
README
Cortex is built on top of Filament, an open-source Laravel admin panel. We sincerely appreciate the Filament team for their incredible work. While Cortex extends and customizes Filament, it is an independent project and not officially affiliated with or endorsed by the Filament team.
Thank you to the Filament community for their contributions!
Rinvex Cortex
Rinvex Cortex is a solid foundation for enterprise solutions, that provides a flexible and extensible architecture for building multi-lingual, multi-tenant applications with content management, themeable views, application modules and much more.
This project uses Laravel framework, but it has its own modular architecture, that's different from the default vanilla structure. Rinvex Cortex is built of modules, and modules are the core building blocks and at the heart of it. Modules are first citizens and everything within the entire application is built of a module, even it's basic fundamental building block that drives the whole system. Everything here is part of a module! Once installed, you can check the automatically populated structure inside the app
directory to get familiar with it.
The project also supports multi-tenant, multi-domain, and multiple access areas, such as: adminarea, frontarea, managerarea, and tenantarea. Each access area is dedicated for a different user type, like: admins, managers, and members. Each type can access only their access areas, and have their own guards and authentication/authorization.
This project is currently under heavy development, and may not have the level of support you're looking for, but for the record it's been used for multiple live enterprise solutions on production. Still, use at your own responsibility, and note that it changes rapidly.
Fresh Installation
Before you start working with this project, make sure you're familiar with the modular architecture of our system. The steps are straight forward and should be easy to implement. It's supposed that you're using PHP ^8.3.0 and MySQL ^8.0.0, or any a similar environment like rinvex/punnet. If you follow the steps below, you should get it done in a few minutes regardless of your experience level. Make sure to create a new database for the new project, and ensure you've local domain ready you can use.
To install Rinvex Cortex, just run the following command on your terminal:
composer create-project rinvex/cortex cortex-demo
This will create a new project based on Rinvex Cortex, install the default modules, and prepare the project for your development.
Replace the following pseudo variables with your values in the following commands, then execute from terminal (inside the new project directory):
YOUR_DATABASE_HOST_HERE
YOUR_DATABASE_NAME_HERE
YOUR_DATABASE_USERNAME_HERE
YOUR_DATABASE_PASSWORD_HERE
sed -i "s/DB_HOST=.*/DB_HOST=YOUR_DATABASE_HOST_HERE/" .env
sed -i "s/DB_DATABASE=.*/DB_DATABASE=YOUR_DATABASE_NAME_HERE/" .env
sed -i "s/DB_USERNAME=.*/DB_USERNAME=YOUR_DATABASE_USERNAME_HERE/" .env
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=YOUR_DATABASE_PASSWORD_HERE/" .env
Install the project
# php artisan db:wipe
php artisan migrate
php artisan db:seed
npm install
npm run dev
Important: You'll need to update your localhost project domains in config app.domains
for the project to run smoothly.
The rest of documentation will be ready soon..
Optional
Create public disk symbolic link
php artisan storage:link
To see all the available command line tools, run the following command:
php artisan list
If you're using any browser streaming features, and would like to disable output buffering, then make sure your PHP & nginx settings are set up correctly, with buffering turned off, so you can stream content to the browser.