Documentation
Everything you need to know to get started with Stellar Engine
Quick Start
1. Database Setup
mysql -u root -p database_name < db/schema.sqlThis creates all 12 tables and inserts default data including the admin user.
2. Configure Environment
cp .env.example .env# Edit .env with your database credentials3. Login with Test Users
superadmin / superadmin - Full system accessadmin / admin - User and content managementmoderator / moderator - Content management onlyuser / user - Basic accessArchitecture Overview
Configuration
config/params.php- All feature togglesconfig/web.php- Yii2 configuration.env- Secrets (never commit!)db/schema.sql- Database setup
Helpers
T::t()- TranslationConfigHelper- SettingsFlashHelper- MessagesAdminHelper- RBAC checks
Widgets
ThemeWidget- Theme switcherLanguageWidget- Language pickerNotificationWidget- Bell iconNewsletterWidget- Subscribe form
Feature Toggles
Every feature can be toggled in config/params.php:
'features' => [ 'themeSwitching' => true, // Light/dark/system 'rbac' => true, // Role-based access 'translations' => true, // Multi-language 'userLogin' => true, // Auth system 'notifications' => true, // In-app alerts 'fileUpload' => true, // File manager 'maintenance' => true, // Maintenance mode // ... and more],Database Schema
userUser accounts and authenticationuser_oauthOAuth provider linksauth_itemRBAC roles and permissionsauth_item_childRole hierarchyauth_assignmentUser role assignmentsauth_ruleRBAC business rulessystem_settingKey-value configurationlanguageAvailable languagestranslationTranslation stringsnotificationIn-app notificationsfileUploaded filesactivity_logAudit trailCommon Patterns
Translations
// Simple stringT::t('Welcome');// With placeholderstrtr(T::t('Hello, {name}!'), [ '{name}' => $user->username]);Flash Messages
FlashHelper::success('Saved!');FlashHelper::error('Failed.');FlashHelper::warning('Careful!');FlashHelper::info('Note.');RBAC Checks
// In controller/viewif (Yii::$app->user->can('manageUsers')) { // Show admin controls}// Helper shortcutsAdminHelper::isSuperadmin();Notifications
NotificationHelper::info( $userId, 'Welcome!', 'Your account is ready.');Important Rules
HTML Rendering
Always use Html helpers, never raw HTML:
Html::tag('div', 'content', ['class' => 'box']);Html::beginTag('div') / Html::endTag('div');All User Strings
Wrap every user-facing string with T::t():
throw new NotFoundHttpException(T::t('Page not found.'));Never Commit Secrets
Keep .env in .gitignore. Use getenv() for API keys.