🚀 v1.5.3

Welcome to TradePro

A full-featured binary trading & investment platform built on CodeIgniter 4. Supports multiple asset classes, automated bots, KYC, wallet management, and a powerful admin panel — all in one installable package.

⚙️ CodeIgniter 4
🐘 PHP 8.3+
🗄️ MySQL / MariaDB
📦 Composer
🔒 Proprietary License

Features

📈
Binary Trading
CALL/PUT trades across Crypto, Forex, Stocks, Futures & Funds with real-time result tracking.
🤖
Trading Bot
Automated strategy-based bot execution with configurable strike rates and trade durations.
💰
Deposits & Withdrawals
Multi-wallet support with admin approval workflows and transaction history.
🪙
Investments & Loans
Investment packages and loan applications with configurable limits and returns.
🪪
KYC Verification
Document upload and admin approval flow for identity verification.
🔔
Push Notifications
Web Push (VAPID) notifications for trades, deposits, and system alerts.
🌐
Multi-language
Built-in phrase translation system with Google Translate integration.
🎨
Multi-theme
Swappable frontend & dashboard templates. PWA-ready with service worker support.
🛡️
Security
2FA, email verification, CSRF protection, login notifications, and role-based access.
📧
Email Templates
Customizable email templates for all system notifications via SMTP.
🔗
Referral System
Configurable referral bonus program with user tracking.
🎫
Support Tickets
Built-in ticket system for user support management.

Requirements

Server

PHP Version
8.3 or higher
PHP 8.3+ recommended
Database
MySQL 5.7+ / MariaDB 10.3+
Charset: utf8mb4
Web Server
Apache / Nginx
Document root must point to /public
Package Manager
Composer 2.x
Required to install dependencies

Required PHP Extensions

intl mbstring json mysqlnd openssl pdo_mysql libcurl gd zip

required extensions are mandatory. optional extensions enable additional functionality.

Composer Dependencies

Package Version Purpose
codeigniter4/framework ^4.0 Core MVC framework
endroid/qr-code ^6.0 QR code generation for wallets
google/apiclient ^2.12.1 Google OAuth login
minishlink/web-push ^9.0 Web Push (VAPID) notifications
stichoza/google-translate-php ^5.3 Translation services

Writable Directories

The following directories must be writable by the web server process:

writable/cache/ writable/logs/ writable/session/ writable/uploads/ public/uploads/

🔧Installation

⚠️ Before starting, ensure your server meets all requirements above and that you have database credentials ready.
  1. 1

    Upload & Configure the Document Root

    Upload the project files to your server. Set the web server document root (or virtual host) to the /public folder.

    Apache example (VirtualHost):

    # /etc/apache2/sites-available/tradepro.conf
                                        <VirtualHost *:80>
                                        ServerName yourdomain.com
                                        DocumentRoot /var/www/html/tradepro/public
                                        <Directory /var/www/html/tradepro/public>
                                        AllowOverride All
                                        Require all granted
                                        </Directory>
                                        </VirtualHost>

    Nginx example:

    server {
                                        listen 80;
                                        server_name yourdomain.com;
                                        root /var/www/html/tradepro/public;
                                        index index.php;
    
                                        location / {
                                        try_files $uri $uri/ /index.php$is_args$args;
                                        }
                                        location ~ \.php$ {
                                        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
                                        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                                        include fastcgi_params;
                                        }
                                        }
  2. 2

    Install Composer Dependencies

    From the project root directory, run:

    composer install --no-dev --optimize-autoloader
    ℹ️ Use composer install (without --no-dev) if you plan to run tests.
  3. 3

    Set Up the Environment File

    Copy the example environment file and open it for editing:

    cp env .env

    Edit .env and set at minimum:

    CI_ENVIRONMENT = production
                                        app.baseURL = 'https://yourdomain.com/'
    
                                        # Database
                                        database.default.hostname = localhost
                                        database.default.username = db_user
                                        database.default.password = db_pass
                                        database.default.database = db_name
  4. 4

    Set Directory Permissions

    chmod -R 755 writable/
                                        chmod -R 755 public/uploads/
  5. 5

    Run the Web Installer

    Navigate to https://yourdomain.com/install in your browser. The wizard will guide you through four steps:

    Step What Happens
    Step 1 Requirements Automatic server check — PHP version, extensions, writable directories.
    Step 2 Email & Database Configure SMTP (host, port, TLS/SSL, credentials). Runs all 17 database migrations and seeds initial data (assets, strategies, strike rates, email templates, FAQs, reviews). Generates VAPID keys for push notifications.
    Step 3 Site Settings Set site name, description, branding colors, feature toggles (2FA, KYC, trading bot, transfers), financial limits, referral bonus, template selection, and optional Google OAuth credentials.
    Step 4 Admin Account Create the super admin account (email, username, password). On completion, install.status = installed is written to .env and you are redirected to /login.
    ✅ Once installed, the /install route is automatically disabled. To re-run the installer, remove or reset install.status in .env.

⚙️Configuration

Email (SMTP)

Configured during installation. Can be updated in .env:

email.protocol = smtp
                        email.SMTPHost = smtp.yourmailprovider.com
                        email.SMTPPort = 587
                        email.SMTPCrypto = tls
                        email.SMTPUser = noreply@yourdomain.com
                        email.SMTPPass = yourpassword
                

Google OAuth (Optional)

google.clientId = your-client-id.apps.googleusercontent.com
                        google.clientSecret = your-client-secret

Session & Cache Prefixes

Auto-generated from the site name during installation to avoid conflicts on shared hosts:

session.cookieName = MySite_session
                        cache.prefix = MySite_

Feature Toggles

The following features can be enabled or disabled from the admin settings panel (Admin → Settings) after installation:

Two-Factor Auth (2FA) Email Verification Login Notifications Trading Bot Fund Transfers KYC Verification Referral Bonus

🔑Environment Variables

Variable Default Description
CI_ENVIRONMENT development Set to production on live servers
app.baseURL Full URL including trailing slash
database.default.hostname localhost Database host
database.default.username Database user
database.default.password Database password
database.default.database Database name
install.status Set to installed after setup completes
session.cookieName auto-generated Session cookie identifier
cache.prefix auto-generated Cache key prefix
vapid.publickey auto-generated Web Push public key
vapid.privatekey auto-generated Web Push private key
email.protocol smtp Mail protocol: smtp, mail, sendmail
email.SMTPHost SMTP server hostname
email.SMTPPort 587 SMTP port (587 for TLS, 465 for SSL)
email.SMTPCrypto tls Encryption: tls or ssl
google.clientId Google OAuth client ID (optional)
google.clientSecret Google OAuth client secret (optional)

📁Directory Structure

tradepro/
                        ├── app/
                        │ ├── Config/ # Routes, database, filters, etc.
                        │ ├── Controllers/ # 29 controllers (Auth, Trade, Admin…)
                        │ ├── Models/ # AppModel, Password utilities
                        │ ├── Views/
                        │ │ ├── admin/ # Admin panel views
                        │ │ ├── template/ # Frontend theme views
                        │ │ └── installer.php # Installation wizard UI
                        │ ├── Database/
                        │ │ ├── Migrations/ # 17 schema migration files
                        │ │ └── Seeds/ # Initial data seeders
                        │ └── Filters/ # Auth & CSRF middleware
                        │
                        ├── public/ # ← Web server document
                            root
                        │ ├── index.php # Application entry point
                        │ ├── assets/ # CSS, JS, fonts, icons
                        │ ├── template/ # Frontend themes
                        │ ├── uploads/ # User-uploaded files
                        │ ├── manifest.json # PWA manifest (auto-generated)
                        │ └── sw.js # PWA service worker
                        │
                        ├── writable/ # Must be writable by web
                            server
                        │ ├── cache/
                        │ ├── logs/
                        │ ├── session/
                        │ └── uploads/
                        │
                        ├── vendor/ # Composer packages
                        ├── .env # Environment configuration
                        └── composer.json # Project manifest & dependencies
                
⚠️ Never expose the project root directly. The web server must point only to the /public directory.

TradePro v1.5.3 · Built by The Kinsmen · Support