Giter Site home page Giter Site logo

daf-kafka-consumer's Introduction

DAF Kafka Consumer for Piattaforma Digitale Nazionale Dati (PDND), previously DAF

The DAF Kafka Consumer is a backend component with the aim to consume all messages written in the kafka topics to create new datasets and notifications for PDND.

What is the PDND (previously DAF)?

PDND stays for "Piattaforma Digitale Nazionale Dati" (the Italian Digital Data Platform), previously known as Data & Analytics Framework (DAF).

You can find more informations about the PDND on the official Digital Transformation Team website.

What is DAF Kafka Consumer?

DAF Kafka Consumer is a backend component based on NodeJS. The aim of this component is to listen the input of a new message in two different kafka topics,creationfeed and notifications, and process the messages to (in order) create a new dataset and insert a specific notification.

All the production ready code is available in the file serverNew.js on the master branch.

The dev branch has the code ready to test in development environment.

To add new feature create a new feature branch from dev.

Tools references

This project references the following tools.

Project components

This project depends by the following components.

  • NodeJS version 8.16.0, available here.

Related PDND Services

  • DAF Catalog Manager available here
  • DAF Security Manager available here
  • DAF Dataportal Backend available here

How to install and use DAF Kafka Consumer

Clone the project

git clone https://github.com/italia/daf-kafka-consumer.git

Configure your local environment

To make the magic happen are required:

  • Node.JS
  • NPM

You can install them following this guide

Install all packages and dependencies

npm install

Run the app

node serverNew.js

To make the component work you need to have a running Kafka service and configure the correct Zookeeper connection to Kafka

How to build and test DAF Kafka Consumer

To build the component you can use Docker:

sudo docker build --no-cache -t <YOUR_DOCKER_IMAGE_NAME> .

How to contribute

Contributions are welcome. Feel free to open issues and submit a pull request at any time, but please read our handbook first.

License

Copyright (c) 2019 Presidenza del Consiglio dei Ministri

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

daf-kafka-consumer's People

Contributors

aijanai avatar crismon-01 avatar cristofani avatar giux78 avatar raippl avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

raippl cristofani

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.