Home
Softono

Proc That

Open source MIT TypeScript
39
Stars
6
Forks
10
Issues
5
Watchers
4 months
Last Commit

 About Proc That

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

Platforms

Web Self-hosted

Languages

TypeScript

Need Help Installing Proc That?

We provide expert installation service for this software. Our team will install, configure, and secure Proc That on your server. plans start at just $30.

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.