Installation

Linux is required for the main server (Ubuntu 21+ recommended). Windows works for local development only.

Quick Start

git clone git@bitbucket.org:cgodev/cgo-live-testing-interface.git
cd cgo-live-testing-interface
./first_install.sh

On Windows, use first_install.ps1 instead.

Configuration

Copy the example settings and fill in your credentials:

cp main/settings.example.py main/settings.py

Edit main/settings.py with: - A working MySQL database connection - API keys for Salesforce, Stripe, PayPal, Asana, Sentry - Email credentials for report sending - Form data for test donations (name, address, bank details)

See Configuration for a full reference of all settings.

Database Setup

source venv/bin/activate
python manage.py migrate --fake-initial
python manage.py createsuperuser

Use the committed migration history for fresh installs. Run makemigrations only when you are intentionally changing Django models.

Cron Job

Add a cron directive to run tests every 6 minutes:

*/6 * * * * /bin/bash /path/to/cgo-live-testing-interface/run_crons.sh >> /root/cron.log 2>&1

This triggers django-cron which picks up any scheduled tests and tasks that are due.

Chrome

Install Google Chrome stable:

sudo apt install google-chrome-stable

ChromeDriver is automatically managed by Selenium Manager (built into Selenium 4+). If you run into issues, clear the Selenium cache at ~/.cache/selenium or make sure no outdated ChromeDriver is in your system PATH.

Running the Server

source venv/bin/activate
python manage.py runserver

Browse to http://localhost:8000 for the dashboard, or http://localhost:8000/admin for the admin panel.

Initial Data Setup

Before tests can run, you need to set up data in the admin panel:

  1. ListLanguage — Create entries for each language/region (e.g. es, en, pl)
  2. DefaultCurrency — Create entries for currencies with minimum donation amounts
  3. DonationLink — Create donation form links, each linked to a list and currency
  4. ScheduledTest — Create tests targeting specific donation forms
  5. ScheduledTask — Create recurring tasks (Salesforce checks, reports, etc.)

Alternative: Docker

For containerized deployment, see Docker.