Skip to content

proc(ess)-that - easy extendable ETL tool for Node.js. Written in TypeScript.

License

Notifications You must be signed in to change notification settings

rcronin/proc-that

 
 

Repository files navigation

proc-that

proc(ess)-that - easy extendable etl tool for nodejs written in typescript.

Basically instantiate the Etl class and add extractors (which pull data from a datasource), transformers (which process the extracted data) and loaders (they load the results into a sink).

A basic, hypothetic example could be: "Load data from a JSON array, snake_case all properties and store those objects into a mongoDB."

The package is written in typescript but can be used in plain javascript as well.

A bunch of badges

Build Status Build Status npm Coverage status license semantic-release Greenkeeper badge

Usage

import {Etl} from 'proc-that';

new Etl()
    .addExtractor(/* class that implements Extractor */)
    .addTransformer(/* class that implements Transformer */)
    .addLoader(/* class that implements Loader */)
    .start()
    .subscribe(progress, error, success);

After all objects are extracted, transformed and loaded, the .start() observable completes and the process is finished.

Below is a list if extractors and loaders that are already implemented. Feel free to implement your own extractor / transformer / loader and contribute it to this list with a PR.

Extractors

Name Description Link
proc-that-rest-extractor Extract objects from GET requests https://github.com/smartive/proc-that-rest-extractor

Loaders

Name Description Link
proc-that-elastic-loader Load transformed objects into elasticsearch https://github.com/smartive/proc-that-elastic-loader

Implement your own

To ease up implementing your own extractors / transformers or loaders, just create a new repository and install proc-that as a dev-dependency. This package contains the needed definition files for the interfaces you need to create the extensions.

About

proc(ess)-that - easy extendable ETL tool for Node.js. Written in TypeScript.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%