{"id":13506020,"url":"https://github.com/ging/fiware-draco","last_synced_at":"2025-05-07T21:06:27.521Z","repository":{"id":39618094,"uuid":"158748708","full_name":"ging/fiware-draco","owner":"ging","description":"The Draco Generic Enabler is an alternative data persistence mechanism for managing the history of context. It is based on Apache NiFi and is a dataflow system based on the concepts of flow-based programming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic and also offers an intuitive graphical interface","archived":false,"fork":false,"pushed_at":"2024-11-02T00:59:13.000Z","size":9714,"stargazers_count":20,"open_issues_count":55,"forks_count":14,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-07T21:06:16.830Z","etag":null,"topics":["data-flow","fiware","fiware-draco","flowfile","ngsi","nifi","processor"],"latest_commit_sha":null,"homepage":"https://fiware-draco.readthedocs.io/en/latest/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ging.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null}},"created_at":"2018-11-22T20:47:12.000Z","updated_at":"2024-12-30T22:23:55.000Z","dependencies_parsed_at":"2024-01-13T19:24:06.917Z","dependency_job_id":"d4696688-bfb0-4d01-ba3a-01ce4c277b0d","html_url":"https://github.com/ging/fiware-draco","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-draco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-draco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-draco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ging%2Ffiware-draco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ging","download_url":"https://codeload.github.com/ging/fiware-draco/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252954429,"owners_count":21830904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-flow","fiware","fiware-draco","flowfile","ngsi","nifi","processor"],"created_at":"2024-08-01T01:00:32.976Z","updated_at":"2025-05-07T21:06:27.499Z","avatar_url":"https://github.com/ging.png","language":"Java","readme":"# FIWARE Draco\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/916af70ef1214f378608142c70ef3ad0)](https://www.codacy.com/gh/ging/fiware-draco/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=ging/fiware-draco\u0026amp;utm_campaign=Badge_Grade)\n[![](https://nexus.lab.fiware.org/repository/raw/public/badges/chapters/core.svg)](https://www.fiware.org/developers/catalogue/)\n[![License](https://img.shields.io/github/license/ging/fiware-draco.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n[![Docker badge](https://img.shields.io/docker/pulls/ging/fiware-draco.svg)](https://hub.docker.com/r/ging/fiware-draco/)[![](https://img.shields.io/badge/tag-fiware--draco-orange.svg?logo=stackoverflow)](https://stackoverflow.com/questions/tagged/fiware)\n[![Support badge](https://img.shields.io/badge/support-askbot-yellowgreen.svg)](https://ask.fiware.org/questions/scope%3Aall/tags%3Adraco/)\n\u003cbr/\u003e\n[![Documentation badge](https://readthedocs.org/projects/fiware-draco/badge/?version=latest)](http://fiware-draco.rtfd.io)\n[![CI](https://github.com/ging/fiware-draco/workflows/CI/badge.svg)](https://github.com/ging/fiware-draco/actions?query=workflow%3ACI)\n[![Coverage Status](https://coveralls.io/repos/github/ging/fiware-draco/badge.svg?branch=develop)](https://coveralls.io/github/ging/fiware-draco?branch=develop)\n[![Known Vulnerabilities](https://snyk.io/test/github/ging/fiware-draco/badge.svg?targetFile=nifi-ngsi-bundle/nifi-ngsi-processors/pom.xml)](https://snyk.io/test/github/ging/fiware-draco?targetFile=nifi-ngsi-bundle/nifi-ngsi-processors/pom.xml)\n![Status](https://nexus.lab.fiware.org/static/badges/statuses/draco.svg)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4613/badge)](https://bestpractices.coreinfrastructure.org/projects/4613)\n\n## Table of Contents\n\n-   [What is Draco?](#what-is-draco)\n-   [Terminology](#terminology)\n-   [Why use Draco?](#why-use-draco)\n-   [Draco place in FIWARE architecture](#draco-place-in-fiware-architecture)\n-   [How to Deploy?](#how-to-deploy)\n-   [Usage: Overview](#usage-overview)\n-   [Training Courses](#training-courses)\n-   [Testing](#testing)\n-   [Quality Assurance](#quality-assurance)\n-   [Roadmap](#roadmap)\n-   [Maintainers](#maintainers)\n-   [Licensing](#licensing)\n-   [Reporting issues and contact information](#reporting-issues-and-contact-information)\n\n## What is Draco?\n\nThis project is part of [FIWARE](http://fiware.org), as part of the Core Context Management Chapter .\n\nDraco is a is an easy to use, powerful, and reliable system to process and distribute data. Internally, Draco is based\non [Apache NiFi](https://nifi.apache.org/docs.html), NiFi is a dataflow system based on the concepts of flow-based\nprogramming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation\nlogic. It was built to automate the flow of data between systems. While the term 'dataflow' is used in a variety of\ncontexts, we use it here to mean the automated and managed flow of information between systems.\n\n| :books: [Documentation](https://fiware-draco.rtfd.io) | :mortar_board: [Academy](https://fiware-academy.readthedocs.io/en/latest/core/draco) | :whale: [Docker Hub](https://hub.docker.com/r/ging/fiware-draco) | :dart: [Roadmap](docs/roadmap.md) |\n| ----------------------------------------------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | --------------------------------- |\n\n\n### Terminology\n\nIn order to talk about Draco, there are a few key terms that readers should be familiar with. We will explain those\nNiFi-specific terms here, at a high level.\n\n**FlowFile:** Each piece of \"User Data\" (i.e., data that the user brings into NiFi for processing and distribution) is\nreferred to as a FlowFile. A FlowFile is made up of two parts: Attributes and Content. The Content is the User Data\nitself. Attributes are key-value pairs that are associated with the User Data.\n\n**Processor:** The Processor is the NiFi component that is responsible for creating, sending, receiving, transforming,\nrouting, splitting, merging, and processing FlowFiles. It is the most important building block available to NiFi users\nto build their dataflows.\n\n## Why use Draco?\n\nDraco is designed to run specific set of processors and templates for persistence context data to multiple sinks.\n\nCurrent stable release is able to persist the following sources of data in the following third-party storages:\n\n-   NGSI-like context data in:\n    -   [MySQL](https://www.mysql.com/), the well-known relational database manager.\n    -   [MongoDB](https://www.mongodb.org/), the NoSQL document-oriented database.\n    -   [PostgreSQL](http://www.postgresql.org/), the well-known relational database manager.\n    -   [Cassandra](http://cassandra.apache.org/), Distributed database.\n    -   [Carto](https://carto.com/), for geospatial Data\n    -   [HDFS](https://hadoop.apache.org), High Distributed filesystem.\n    -   [DynamoDB](https://aws.amazon.com/es/dynamodb/), A cloud key-value Amazon DB. \n\n## Draco place in FIWARE architecture\n\nDraco plays the role of a connector between Orion Context Broker (which is a NGSI source of data) and many external and\nFIWARE storages like MySQL, MongoDB\n\n![FIWARE architecture](images/fiware_architecture.png)\n\n## How to Deploy?\n\nThe most easy way to deploy Draco is running the container available on DockerHub.\n\nStart a container for this image by typing in a terminal:\n\n     $ docker run --name draco -p 8443:8443 -p 5050:5050 -d ging/fiware-draco\n\nHowever if you want to have a custom installation please go to the **Installation and Administration Guide** at\n[readthedocs.org](docs/installation_and_administration_guide/README.md)\n\n## Usage: Overview\n\nThe best way to start with Draco is following the **Quick Start Guide** found at readthedocs.org and it provides a good\ndocumentation summary ([Draco](docs/quick_start_guide.md)).\n\nNevertheless, both the **Installation and Administration Guide** also found at\n[readthedocs.org](docs/installation_and_administration_guide/README.md) cover more advanced topics.\n\nThe **Processors Catalogue** completes the available documentation for Draco\n([Draco](docs/processors_catalogue/README.md)).\n\n## Training courses\n\n### Academy Courses\n\nSome lessons on Draco Fundamentals will be offered soon in the\n[FIWARE Academy](https://fiware-academy.readthedocs.io/en/latest) .\n\n### Examples\n\nSeveral examples are provided to facilitate getting started with GE. They are hosted in the official documentation at\n[Read the Docs](https://fiware-draco.readthedocs.io/en/latest/quick_start_guide/index.html).\n\n## Testing\n\nIn order to test the code:\n\n    $mvn clean test -Dtest=Test* cobertura:cobertura coveralls:report -Padd-dependencies-for-IDEA\n\n## Quality Assurance\n\nThis project is part of FIWARE and has been rated as follows:\n\n-   **Version Tested:** TBD\n-   **Documentation:** TBD\n-   **Responsiveness:** TBD\n-   **FIWARE Testing:** TBD\n\n## Roadmap\n\nThe list of features that are planned for the subsequent release are available in the\n[ROADMAP](./docs/roadmap.md) file.\n\n## Maintainers\n\n[@anmunoz](https://github.com/anmunoz).\n\n## Licensing\n\nDraco Except as otherwise noted this software is licensed under the Apache License, Version 2.0 Licensed under the\nApache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may\nobtain a copy of the License at `http://www.apache.org/licenses/LICENSE-2.0` Unless required by applicable law or agreed\nto in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and\nlimitations under the License.\n\n## Reporting issues and contact information\n\nAny doubt you may have, please refer to the\n[Draco Core Team](docs/installation_and_administration_guide/issues_and_contact.md).\n","funding_links":[],"categories":["FIWARE Catalogue"],"sub_categories":["Core Context Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fging%2Ffiware-draco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fging%2Ffiware-draco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fging%2Ffiware-draco/lists"}