younginnovations / aidstream

AidStream is a platform for small and medium size NGOs to publish their aid data in IATI standard.
http://aidstream.org
MIT License
20 stars 13 forks source link

AidStreamAidStream

AidStream stands as one such platform, that presents complexity of the IATI in an understandable and a consumable way.

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.

wercker status

Install

AidStream can be cloned after having access to the gitlab repository and installed following the procedure given below:

Run

The app can be run with the command below:

Framework

The application is written in PHP based on the Laravel framework, current version of Laravel used for this project is 5.2.5.

Tools and packages

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:

Structure

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.

Check code quality

We follow PSR-2 for coding standard. To check if your code matches the projects quality checks please see codeclimate.

Code Climate

Tests

There are two types of tests for AidStream, one for unit testing and other one is smoke testing with Hookah library.

Unit Tests

Unit tests are in the tests\app folder. They can be run with the following command:

./vendor/bin/phpunit tests/app 

Smoke Tests with Hookah

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

Continuous Integration

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.

Integration with Gitomate

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.