Birds of a feather flock together: this is a software that can be used for proposing BOF topics and for voting on them
You can try a demo at https://bof.demo.solidcharity.com, with user admin
and password secret
. It is being reset each night automatically.
For more details about the Slim framework and other technical details, see the wiki: https://github.com/ICCM-EU/BOF/wiki
Please report issues at https://github.com/ICCM-EU/BOF/issues.
Pull requests are very much welcome!
Install Vagrant, Virtual Box and Ansible.
vagrant up
Everything should be accessible at [http://192.168.33.153] (or [http://bof.local] if you add it to your hosts file*.
- Install Vagrant HostManager to make this happen automagically
Setup an Ubuntu 18.04 machine:
apt-get install git ansible
git clone https://github.com/ICCM-EU/BOF.git
cd BOF/ansible
# perhaps update group_vars/all.yml with the actual timezone
ansible-playbook playbook.yml -i localhost
# for dev environment, i.e. for running the tests
ansible-playbook playbook.yml -i localhost --extra-vars "dev=1"
cd /root
rm -Rf BOF
ln -s /var/www/bof
The initial password for the user admin is: secret
You can change the password on the admin page.
The website lives in /var/www/bof
The configuration for the database is in /var/www/bof/cfg/settings.php
To bundle frontend items properly run:
node_modules/.bin/gulp deploy
There is now a button on the admin page, that will reset the database. It will keep the admin user, and the prep workshop.
Set dates for testing the nomination or voting in the UI.
cd /var/www/bof
npm install cypress
apt-get install xvfb gconf2 libgtk2.0-0 libxtst6 libxss1 libnss3 libasound2
LANG=en CYPRESS_baseUrl=http://localhost ./node_modules/.bin/cypress run --config video=false --spec 'cypress/integration/nomination.js'
LANG=en CYPRESS_baseUrl=http://localhost ./node_modules/.bin/cypress run --config video=false --spec 'cypress/integration/voting.js'
cd /var/www/bof/src
# need to run composer install again, because ansible does not include the dev dependancies by default when calling composer install
composer install --dev
apt-get install php-xdebug php-pdo-sqlite
./vendor/bin/phpunit -c phpunit.xml
# Please note you should not install PHPUnit on anything but your development system. See https://thephp.cc/news/2020/02/phpunit-a-security-risk for further explanation.