blackcube / starter
Blackcube CMS starter
Package info
github.com/blackcubeio/starter
Language:JavaScript
Type:project
pkg:composer/blackcube/starter
Requires
- php: ^8.4
- ext-json: *
- blackcube/dboard: ^1.0
- blackcube/dcore: ^1.0
- blackcube/graphql: ^1.0
- blackcube/mcp: ^1.0
- blackcube/ssr: ^1.0
- blackcube/yii-assets: ^1.0
- blackcube/yii-proxy-middleware: ^1.0
- httpsoft/http-message: ^1.1
- league/flysystem-aws-s3-v3: ^3.35
- mailjet/mailjet-apiv3-php: ^1.6
- vlucas/phpdotenv: ^5.7
- yiisoft/aliases: ^3.1
- yiisoft/cache-redis: ^2.0
- yiisoft/config: ^1.6
- yiisoft/data: ^2.0
- yiisoft/data-response: ^2.2
- yiisoft/db: ^2.0
- yiisoft/db-migration: ^2.1
- yiisoft/db-mysql: ^2.0
- yiisoft/definitions: ^3.4
- yiisoft/di: ^1.4
- yiisoft/error-handler: ^4.3
- yiisoft/event-dispatcher: ^1.1
- yiisoft/factory: ^1.3
- yiisoft/input-http: ^1.0
- yiisoft/log: ^2.2
- yiisoft/log-target-file: ^3.1
- yiisoft/mailer: ^6.1
- yiisoft/rbac-db: ^2.1
- yiisoft/router: ^4.0
- yiisoft/router-fastroute: ^4.0
- yiisoft/session: ^3.0
- yiisoft/test-support: ^3.2
- yiisoft/yii-console: ^2.4
- yiisoft/yii-http: ^1.1
- yiisoft/yii-runner-console: ^2.2
- yiisoft/yii-runner-http: ^3.2
- yiisoft/yii-view-renderer: ^7.4
Requires (Dev)
- composer/composer: ^2.10
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-25 14:37:03 UTC
README
Demonstration application for Blackcube CMS on Yii3. Use as a starting point with composer create-project.
What this is
A starter — a point of departure, not a framework to follow.
Blackcube gives you content: structured entities (dcore), an admin panel to manage them (dboard), and routing that hands each public URL to your code (ssr). It ships no theme and no templates. This is not WordPress.
Everything under src/ — handlers, views, helpers, widgets — is just one example of how to render that content, here to get you running. Modify it, replace it, or throw it away and build the site you need. There is no required structure and no rendering model to respect: the content comes from Blackcube, every choice about how to display it is yours.
What's included
Example handlers, ready to adapt or replace:
| Handler | Route | Role |
|---|---|---|
LandingHandler |
landing |
landing page |
NotFoundHandler |
not-found |
404 error page |
ServerErrorHandler |
server-error |
5xx error page |
RedirectLangHandler |
redirect-lang |
language redirect at the root (/ -> /fr) |
Alongside them: example views (src/Views), block widgets (src/Widgets),
helpers (src/Helpers) and the handler base classes (src/Commons). All of it
is a starting point — keep what fits, change the rest.
Requirements
- PHP 8.4+
- MySQL / MariaDB
- Composer
- Node.js (for frontend assets)
Installation
composer create-project blackcube/starter my-project
cd my-project
cp .env.example .env
The oauth2 keys are generated on first use, in the directory named by
OAUTH2_PUBLIC_KEY / OAUTH2_PRIVATE_KEY (config/keys/ by default), so there
is nothing to do here. To bring your own instead, drop them there before the
first request:
# private key (2048 bits minimum, 4096 recommanded) openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:4096 # public key openssl rsa -in private.pem -pubout -out public.pem
Edit .env with your database credentials:
DB_DRIVER=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=myapp DB_USER=myapp DB_PASSWORD=myapp
and all needed conf vars
Run the migrations:
php yii.php migrate:up
Stack
- blackcube/dcore — data layer (entities, slugs, SEO)
- blackcube/dboard — administration panel
- blackcube/ssr — server-side routing and rendering
License
BSD-3-Clause. See LICENSE.md.
Author
Philippe Gaultier philippe@blackcube.io