Giter Site home page Giter Site logo

rvkarmani / demo-pipeline Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rushikeshsawant/demo-pipeline

0.0 1.0 0.0 24 KB

Simple data pipeline using Spring Boot, Redis, WebSocket with STOMP, ActiveMQ, MySql and Docker

Java 86.15% HTML 13.85%

demo-pipeline's Introduction

Demo data pipeline

Objective

This project implements a simple data pipeline to process/forward a particular resource data. Example resource taken here is a user data with JSON representation.

There are three endpoints:

  1. /users: to POST users to the data pipeline. This endpoint initiates the processing.
  2. /allusers: to GET all the users posted till date in a JSON format.
  3. /userfeed: A simple testing endpoint to observe live user feed being processed by data pipeline. It also provides a simple form to post user data to validate the working of data pipeline.

Design and application components

Pipeline consists of

  1. spring-boot application
  2. Mysql RDBMS
  3. Redis
  4. ActiveMQ

setup in a distributed setting using docker containers. Application design is such that new type of resource can be easily added and processed. That is changes will be additive to introduce and process a new resource/data types, irrespective of the kind of processing required. The sample resource used to demo this pipeline has minimal to no processing, but rather gives out the skeleton to do so.

Setup and Deployment

  1. clone this repository
  2. cd into the cloned directory and run the command: docker-compose up

After MySql, ActiveMQ, and Redis have started, maven will perform a massive download for packages for building and starting spring-boot app. That's it. You can hit /userfeed endpoint and test the pipeline yourself. Generated application log should give out the flow of entered data.

demo-pipeline's People

Contributors

rushikeshsawant avatar

Watchers

James Cloos avatar

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.