Skip to content

Latest commit

 

History

History
89 lines (69 loc) · 2.8 KB

README.md

File metadata and controls

89 lines (69 loc) · 2.8 KB

gluestick logo gluestick by hotglue

demo docs join slack npm package dockerhub

Open source, self-hosted CSV uploads and mapping.


demo

Info

Motivation

We want to provide a light-weight and simple way to integrate user data from CSVs, with a great UI and strong mapping functionality.

Links

Sandbox

gluestick-elements

Simple reusable React components that handle CSV uploads, mapping, and validation.

Functionality

  1. Upload file
  2. Do column mapping
  3. Validate data + preview final output
  4. Approve (sent to hook / piped to target)

Install

npm install --save gluestick-elements

Usage

import React, { Component } from 'react'

import {GlueStick} from 'gluestick-elements'
import 'gluestick-elements/dist/index.css'

class Example extends Component {
  render() {
    return (<GlueStick
      user={"default"}
      endpoint={"https://gluestick-api.herokuapp.com"}
      schema={{
        fields: [
          {
            col: "Name",
            key: "name"
          },
          {
            col: "Phone Number",
            key: "phoneNumber",
            validator: /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/
              .source
          }
        ]
      }}
    />);
  }
}

gluestick-api

A Python + Docker based mapping API that leverages data science tools to manipulate CSVs. This part is designed to be self-hosted and also benefits from being completely open source.

Features

  1. Handle all gluestick elements requests (all data is processed via Python backend not in browser)
  2. Deployable to the cloud (Heroku, AWS, etc.)
  3. Ability to connect with and pipe data directly to all targets supported by hotglue (S3, Cloud Storage, etc.)
  4. Webhook functionality to programmatically monitor user uploads and make actions based on that