Coder Social home page Coder Social logo

joethreepwood / connector-catalog-data Goto Github PK

View Code? Open in Web Editor NEW

This project forked from whalyapp/connector-catalog-data

0.0 0.0 0.0 3.21 MB

This repository contains the data presented in the https://connectorcatalog.com/ website. It is open to let vendors manage their listings.

License: MIT License

TypeScript 100.00%

connector-catalog-data's Introduction

Introduction

This repository contains the Sources & Vendors listing description used by the Connector Catalog website.

The goal of this repository is to enable any connector vendors to submit and maintain its own listing of connectors to ensure that any vendor can be listed and that up-to-date connectors listing changes can be provided.

The use of JSON file format to store the information about connectors was made to maximize the interopability with each vendor stack and preferred tools.

Ideally, a script should be built by each vendor to output the current state of their catalog in the format described below. This will help vendors to automate the maintainance of their listing.

Contributing

There can be 2 main ways of contributing:

  1. By listing missing vendors or point to inaccuracies in the data through Issues that can be opened here.
  2. By opening a Pull Request containing updates on the existing state of the catalog here.

The data format of this repository has been designed so that it's easy for Vendors to uploads their connector listings by owning their own vendor JSON file.

Data Format overview

There is 2 main folders in this repository:

  • ./data: this contain a collection of JSON document to describe the Sources and Vendors.
  • ./images: this contain the collection of Data Sources logos

Listings format

In the ./data directory, we have 2 main collections of JSON to manage listings:

1. Sources

Each JSON should follow the below format:

{
    // Unique identifier for the source
    // should be lowercase, withou space and with only [a-Z0-9_] characters
    "slug": string,
    // URL path to the logo. Image asset
    // Should point to the assets in the ./images directory of this repository
    "logoUrl": string,
    // Display name of the source
    "name": string,
    // Type of the Data source
    "type": "Application" | "Database" | "File" | "Events",
    // Aliases of the source that can be used in vendors listings
    "aliases": string[]
}

Example:

{
    "slug": "google-analytics-v4",
    "logoUrl": "/sources/ga4.png",
    "name": "Google Analytics V4",
    "type": "Application",
    "aliases": [
        "Google Analytics v4", 
        "Google Analytics 4"
    ]
}

2. Vendors

Each JSON should follow the below format:

{
    // Unique identifier for the source
    // should be lowercase, withou space and with only [a-Z0-9_] characters
    "slug": string,
    // Display name of the vendor website
    "name": string,
    "logoUrl": string,
    "type": "ETL" | "BI" | "SaaS",
    "isOpenSource": boolean,
    "website": string,
    // Refer to the sources that the vendor can extract from
    // Contains source slugs or a source aliases declared in a source listing
    "sources": string[]
}

Example:

{
    "slug": "stitch",
    "name": "Stitch",
    "logoUrl": "/vendors/stitch.png",
    "type": "ETL",
    "isOpenSource": true,
    "website": "https://www.stitchdata.com/",
    "sources": [
        "hubspot",
        "mixpanel",
        "amplitude",
        "stripe",
        "..."
    ]
}

Adding a new Vendor

To add a new vendor, 2 steps are necessary:

  1. Create a new Vendor listing in ./data/vendors
  2. Check that each of the source defined in the vendor listing is matching a source listing.

In order to check that each of the vendor source items are matching an existing source definition, you can run the below command ⤵️

npx ts-node scripts/vendor-source-check.ts data/vendors/my-vendor.json

Note: It will require Node to be installed on your system to run.

If there are sources declared in the vendor listing that are not matching any existing source listing, either:

  1. Find the source listing in ./data/sources that should have matched and add an aliases entry with the value used in the vendor listing (i.e the value entered in the sources array of the vendor file for this source)
  2. Create a new source listing (e.g. a new JSON file) in ./data/sources with the appropriate slug and aliases

connector-catalog-data's People

Contributors

benderv avatar nexlabilly avatar poulpifr avatar tayloramurphy 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.