This is the code for the goteo api.
Please refer to the INSTALL.md file for info about installing this API.
Full documentation to use the official api can be found here: https://developers.goteo.org/doc/
The included Vagrantfile is ready to provision a ready-to-go system with a test database and all the required dependencies installed:
vagrant up
vagrant ssh
./run./deployer./runCache clearing:
./console clearcacheCache renewing:
./console renewcacheCrontab install for automatic cache renew:
./console crontab -iRemove crontab install:
./console crontab -rNOTE: Testing with the argument --reset-database will remove all tables in the test database!
Configure a proper config_test.py before testing
First time you may want to reset the test database:
./run-tests --reset-databaseAll tests at once (verbose):
./run-tests -vSpecific tests: (verbose, with echoes):
./run-tests goteoapi -v -s goteoapi/tests/testprojects.pyRunning code coverage tests:
./run-tests --cover-html --with-coverageRunning code coverage tests with all packages:
./run-tests --cover-html --with-coverage --cover-package=goteoapi_reports --cover-package=goteoapi_digestsTests uses nosetests. Same nosetests command arguments applies to run-tests script
To run the API with extra packages you must configure the variable MODULES int the file config.py (extra packages such as: goteoapi_reports, goteoapi_digests)
...
MODULES = {
# reports endpoints
'goteoapi_reports.controllers',
# digests endpoints
'goteoapi_digests.controllers'
}
...Obtain a list of active projects:
curl -i --user "goteo:goteo" http://0.0.0.0:5000/projectsGetting details for a custom project:
curl -i --user "goteo:goteo" http://0.0.0.0:5000/projects/project-idFiltering some data, in this case, all projectes published starting in october 2015:
curl --user "goteo:goteo" -i -X GET -H "Content-Type: application/json" -d '{"from_date":"2015-10-01"}' http://localhost:5000/projects/Obtaining an error message:
curl -i --user "goteo:goteo" -X GET -H "Content-Type: application/json" http://0.0.0.0:5000/projects/Response:
HTTP/1.0 400 BAD REQUEST
Content-Type: application/json
Content-Length: 53
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: POST, OPTIONS, GET
Access-Control-Allow-Headers: Authorization
Access-Control-Max-Age: 1
Server: Werkzeug/0.10.4 Python/2.7.6
Date: Mon, 01 Feb 2016 13:36:53 GMT
{
"message": "Bad Request",
"status": 400
}Check the full documentation here: https://developers.goteo.org/doc/
The code licensed here under the GNU Affero General Public License, version 3 AGPL-3.0 has been developed by the Goteo team led by Platoniq and subseque ntly transferred to the Fundación Goteo, as detailed in http://www.goteo.org/about#info6
This is a web tool that allows the receipt, review and publishing of collective campaigns for their collective funding and the receiving of collaborations a s well as the dynamic visualization of the support received, classification of initiatives and campaign tracking. The system also permits secure and distrib uted communication with users and between users, administration of highlighted projects on the home page and the creation of periodical publications such as blogs, a FAQ section and static pages.