Developer Documentation
Installation Overview
This step-by-step documentation guides you through setting up the RDA System—a robust backend environment powered by the Laravel 10 Framework.
The architecture incorporates automated workflows, multi-role RBAC (Role-Based Access Control), localized SMS notification APIs, secured document encryption, and SSLCommerz payment integration modules.
Target Audience: This setup expects intermediate-to-advanced expertise in PHP runtime structures, Composer dependencies, server vhost symlinks, and relational migration handling.
Server Prerequisites
Verify that your local host environment or VPS server container satisfies the configuration requirements listed below:
Environment Stack Minimum Requirement
PHP Runtime Engine v8.1 or Higher (v8.2 recommended)
Database Engine MySQL >= 5.7 / MariaDB >= 10.3
Package Managers Composer v2.x & Node.js >= v18.x (NPM v9+)
Web Servers Nginx (Highly Recommended) or Apache with mod_rewrite enabled
Required Core PHP Extensions:
bcmathctypefileinfo jsonmbstringopenssl pdo_mysqltokenizerxml gd / imagickcurl
Step 1: Codebase Initialization
Clone the target repository to your web directory and initialize the backend/frontend dependency containers.
Terminal - Clone Repository
              git clone https://github.com/rda-project/system.git rda-system
              cd rda-system
Terminal - Dependency Installation
# Install server-side PHP dependencies
composer install --no-dev --optimize-autoloader

# Install client-side asset node modules
npm install
npm run build
Step 2: Environment Configuration
Generate your production environment profile and initialize the application instance signature keys.
Terminal - Env & App Crypt Key
cp .env.example .env
php artisan key:generate
Open the generated .env file in a text editor and update your database block variables:
.env Configuration Profile
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=rda_db_name
DB_USERNAME=your_secure_user
DB_PASSWORD=your_secure_password
Step 3: Database & Access Control Seeders
Execute structural table migrations and populate default permissions, administrative roles, and structural systems.
Terminal - DB Migration
php artisan migrate --seed
What the Seeder Creates: The seeder instantly scaffolds a primary Super Admin user profile, defines organizational structural departments, and establishes the operational granular workflow permission layers.
Step 4: Directory Privileges & Storage Symlinks
Grant rewrite permissions to your web-server user (e.g., www-data) and execute structural document generation symlinks.
Terminal - Linux Permissions
# Create safe target symbolic link for asset uploads
php artisan storage:link

# Set required permissions for file system processes
sudo chown -R www-data:www-data storage bootstrap/cache
sudo find storage bootstrap/cache -type d -exec chmod 775 {} \;
sudo find storage bootstrap/cache -type f -exec chmod 664 {} \;
Step 5: Production & Enterprise Tasks
For production servers, cache configuration schemas to dramatically reduce system resource footprints and improve route matching speeds.
Terminal - Laravel Cache Optimizations
php artisan config:cache
php artisan route:cache
php artisan view:cache
To keep background email automation, service orders, and payment tracking status sync loops running constantly, add a Cron Job tracking interval:
Server Cron Job Syntax Configuration
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Environment Ready
The environment setup phase is complete. Navigate to your base application domain URL (e.g., https://your-domain.com) to access the Admin Control Dashboard with your seeded credentials.