Docs / Requirements & Stack
🏠 Home

Requirements & Stack

What you need on the server and on your machine before installing any part of CargoPRO.

Server requirements (website)

🐘

PHP 8.2+

With pdo_mysql, mbstring, fileinfo, openssl, curl, zip and gd/imagick extensions. PHP 8.3/8.4 also work.

πŸ—„οΈ

MySQL 5.7+ / MariaDB 10.3+

One empty database with a dedicated user. The installer runs all migrations automatically β€” no manual SQL import needed.

🌐

Web server

Apache (with mod_rewrite) or Nginx. Document root must point at the public/ folder of the extracted package.

βœ‰οΈ

SMTP (optional but recommended)

Any SMTP account for email notifications and password resets. Configured during installation or later in .env.

πŸ”’

HTTPS + cron (recommended)

An SSL certificate for the domain and one cron entry for the Laravel scheduler (* * * * * php artisan schedule:run).

πŸ”₯

Firebase project (for push)

Only needed for real push notifications in the mobile apps. See the Firebase guide.

Third-Party Services Notice

CargoPRO optionally integrates with third-party services β€” Google Maps, Firebase (push notifications), Twilio (SMS), WhatsApp, Stripe, PayPal, Paystack, and SMTP email providers. These services are not included in the purchase price: you must register your own accounts and API keys, and each provider bills its own fees directly to you (e.g. per-transaction fees for payment gateways, per-message costs for SMS/WhatsApp, usage-based pricing for Google Maps).

None of them are required to run the system β€” built-in payment methods (cash, bank transfer, cash on delivery), standard SMTP email, and in-app notifications work out of the box. The providers' pricing and terms may change at any time and are outside our control.

The stack

ProductBuilt withNotes
Admin panel (website)Laravel 12, MySQL, BladeServes the REST API at /api too
User appFlutter (Dart 3.11+, Flutter 3.41+)Android Β· iOS Β· web builds possible
Driver appFlutter (same toolchain)Android Β· iOS; portrait-only, offline sync queue
PushFirebase Cloud MessagingHTTP v1 service account JSON configured in Tools β†’ FCM

For building the apps

Install Flutter 3.41+

Follow flutter.dev/install and run flutter doctor until it reports no blocking issues.

Install Android Studio (or the Android SDK)

Needed for the Android toolchain, SDK and an emulator if you want one. Accept the SDK licenses.

For iOS builds: a Mac with Xcode

iOS apps can only be built on macOS. The FlutterFire CLI (dart pub global activate flutterfire_cli) is also needed only when you configure Firebase.

Repo layout cargoproadmin/ β€” the Laravel website Β· cargoproapp/ β€” the customer app Β· cargoprodriver/ β€” the driver app.