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:
- ListLanguage — Create entries for each language/region (e.g.
es,en,pl) - DefaultCurrency — Create entries for currencies with minimum donation amounts
- DonationLink — Create donation form links, each linked to a list and currency
- ScheduledTest — Create tests targeting specific donation forms
- ScheduledTask — Create recurring tasks (Salesforce checks, reports, etc.)
Alternative: Docker
For containerized deployment, see Docker.