Skip to content

Repository files navigation

WireCloud

WireCloud

Build interactive dashboards and application mashups from reusable widgets, operators, and data sources.

Tests and coverage Python package Documentation License: AGPL-3.0

Get started · User guide · Installation · HTTP API · Contributing

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.

Quick start

The fastest way to run the complete stack is Docker Compose. It builds WireCloud and starts MongoDB and Elasticsearch with persistent volumes:

cp docker/.env.example docker/.env
docker compose -f docker/docker-compose.yml up -d --build
docker compose -f docker/docker-compose.yml exec wirecloud python -m manage populate
docker compose -f docker/docker-compose.yml exec wirecloud python -m manage createsuperuser

Open http://localhost:8000/. Before exposing the service, replace WIRECLOUD_JWT_KEY and WIRECLOUD_SECRET_KEY in docker/.env with different, secure random values.

For health checks, updates, persistent-storage guidance, and troubleshooting, follow the complete getting-started guide.

Explore the documentation

I want to… Start here
Create workspaces and connect components User guide
Deploy and configure an instance Installation and configuration
Operate, back up, and restore WireCloud Administration
Build widgets, operators, or mashups Component development
Integrate with WireCloud over HTTP HTTP API
Customize the interface or backend Themes and plugins
Migrate an existing deployment Migration guide

Release wheels and the forthcoming PyPI package include the compiled frontend, so Node.js is not required on the deployment host. See the installation guide for all supported installation paths and an example project-specific configuration.

Development

WireCloud requires Python 3.9 or newer and Node.js with npm. To prepare a local checkout:

python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e '.[test,migration]'
npm ci
npm run build

Run the Python and JavaScript test suites with coverage:

pytest --cov
npm run test:js:cov

The contributor guide covers local services, frontend commands, translations, packaging, continuous integration, and documentation builds.

Documentation

The documentation is built with MkDocs and published on Read the Docs. Build it locally in strict mode to catch broken links and configuration errors:

python -m pip install -r docs/requirements.txt
mkdocs build --strict

License

WireCloud is distributed under the GNU Affero General Public License, version 3. Widgets, operators, and mashups running on the platform are expressly excluded from the covered work and may use other licenses; see the license file for the complete terms.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages