User friendly interfaces within the platform enhance an effortless entry, update and publish of the aid data in the IATI format for organisations that want to publish IATI data. The system hides all the complexities and technicalities of the xml. With AidStream, the necessity to understand the details of the IATI standard becomes lesser. All that needs to be done is to register into the system, enter the data and publish it. The data will be easily published to the IATI registry . In addition, AidStream guarantees high security, proper maintenance and easy accessability of the aid data.
AidStream can be cloned after having access to the gitlab repository and installed following the procedure given below:
The app can be run with the command below:
composer install
chmod -R 777 storage
chmod 777 -R uploads/
.php artisan migrate
php artisan db:seed
php artisan serve
(append --port PORT_NUMBER to run in different port other than 8000)localhost:8000
The application is written in PHP based on the Laravel framework, current version of Laravel used for this project is 5.2.5.
This application uses many tools and packages, the packages can be seen in the composer.json file
Some major PHP packages used are listed below:
The application is structured in app/Core/{version} as V201,V202 folder.
Each Version folder contains five folders
Classes inside each of the above directories are properly written within corresponding modules namespace.
We follow PSR-2 for coding standard. To check if your code matches the projects quality checks please see codeclimate.
There are two types of tests for AidStream, one for unit testing and other one is smoke testing with Hookah library.
Unit tests are in the tests\app
folder. They can be run with the following command:
./vendor/bin/phpunit tests/app
Smoke tests are in the tests\Smoke
folder, they can be run with the following commands:
./vendor/bin/phpunit tests/Smoke
To run the tests faster in parallel run it with paraunit like below:
./vendor/bin/paratest --colors -m 2 -p 4 --stop-on-failure --path= tests/Smoke
On each push the hookah test will run on Wercker CI. It also sends notification to hipchat on Build-Bot room. Tests run on Wercker's Docker setup.
Gitomate is an application that automates other actions after a git push is done with special tags.
To open a merge request you can simply do it with adding #mr
to the commit message. It will open a merge request for
you. If it does not open in the first push try doing a commit amend and force push or make changes with a second commit
and do a second push.
Gitomate will also run a code climate analysis for the branch on each push on code climate.