WireCloud builds on cutting-edge end-user development, RIA and semantic technologies to offer a next-generation end-user centred web application mashup platform aimed at leveraging the long tail of the Internet of Services.
WireCloud builds on cutting-edge end-user (software) development, RIA and semantic technologies to offer a next-generation end-user centred web application mashup platform aimed at allowing end users without programming skills to easily create web applications and dashboards/cockpits (e.g. to visualize their data of interest or to control their domotized home or environment). Web application mashups integrate heterogeneous data, application logic, and UI components (widgets) sourced from the Web to create new coherent and value-adding composite applications. They are targeted at leveraging the "long tail" of the Web of Services (a.k.a. the Programmable Web) by exploiting rapid development, DIY, and shareability. They typically serve a specific situational (i.e. immediate, short-lived, customized) need, frequently with high potential for reuse. Is this "situational" character which precludes them to be offered as 'off-the-shelf' functionality by solution providers, and therefore creates the need for a tool like WireCloud.
This project is part of FIWARE. For more information check the FIWARE Catalogue entry for Context Processing, Analysis and Visualization.
📚 Documentation | 📄 Site | 🎓 Academy | 🐳 Docker Hub | 🎯 Roadmap |
---|
$ sudo pip install wirecloud
See the installation guide for more info.
WireCloud is a user-development tool aimed both at users and developers. Users use the platform to build and/or use their interfaces using deployed widgets and developers, whereas developers do create such components by extending existing ones or creating them from scratch.
In the former, final users can find useful information in the User Guide. In the latter, developers can learn how to develop components in the Programmer Guide
Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
This project is part of FIWARE and has been rated as follows:
Testing of WireCloud is based on two different frameworks. On the one side, Python code is being
tested using Django's own testing capabilities. On the other side, JavaScript code testing is based
on Karma and Jasmine. Both tests are run on a local copy of the
WireCloud repository on GitHub, inside
the src
folder.
Before running the tests, you have to ensure all the python dependencies are
installed on the environment. To do so, execute the following commands on the
src
folder:
$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt
Once installed all the dependencies, you can run the Python tests by using the following command:
$ python manage.py test --nologcapture -v 2 -a tags='wirecloud-noselenium'
WireCloud also comes with some selenium tests that can be executed using the following command:
$ python manage.py test --nologcapture -v 2 -a tags='wirecloud-selenium'
In this case, you will need to have Chrome and Firefox installed as well as chromedriver and geckodriver.
Before being able to test JavaScript code, some dependencies have to be installed:
$ sudo npm install -g grunt-cli
$ npm install
Once installed all the npm dependencies, tests can be executed using grunt
:
$ grunt
WireCloud is licensed under Affero General Public License (GPL) version 3 (or any later, at your option) with classpath-like exception.