GithubHelp home page GithubHelp logo

yobulkdev / yobulkdev Goto Github PK

View Code? Open in Web Editor NEW
850.0 12.0 41.0 996 KB

🔥 🔥 🔥Open Source & AI driven Data Onboarding Platform:Free flatfile.com alternative

Home Page: https://www.yobulk.dev/

License: GNU Affero General Public License v3.0

Dockerfile 0.23% JavaScript 98.36% CSS 1.40%
csv-parser mongodb open-source streaming data-engineering csv-import csv-reader nextjs nodejs stream

yobulkdev's Introduction

YoBulk
⭐️ Open Source Alternative To Flatfile.com ⭐️


A Data exchange platform for all businesses that run on CSV files. Create YoBulk CSV Import button and make CSV importing 10x faster.

WebsiteTwitterSlack

The Open Source Alternative To Flatfile.com.

The Open Source Alternative To Flatfile.com.

The Open Source Alternative To Flatfile.com.

The Open Source Alternative To Flatfile.com.

The Open Source Alternative To Flatfile.com.

User Installation

Docker

Option:1 Through Docker Compose

The docker compose brings both YoBulk Image and Mongodb Image. We provide docker-compose.yml file under yobulkdev code repository.

git clone https://github.com/yobulkdev/yobulkdev.git
cd yobulkdev 
docker-compose up -d
  • To make use of YoBulk Open AI feature, please follow the guidelines as below.

Please open the docker-compose.yml file and update the OPENAI_SECRET_KEY variable with the key generated from OpenAI API site.

The YoBulk dashboard is ready to go at http://localhost:5050/.

Option:2 Through Docker Run

If you are a Docker user, you may try this way!

  • Prerequisites:You should have installed mongodb on your local machine and it's running.
docker run --rm -it -p 5050:5050/tcp  yobulk/yobulk
  • To make use of YoBulk Open AI feature, please follow the guidelines as below.

Please pass the Open AI key generated from OpenAI API site in --env to explore YoBulk AI features.

Example:

docker run --rm -it -p 5050:5050/tcp  --env="OPENAI_SECRET_KEY=****" yobulk/yobulk

YoBulk dashboard is ready to go at http://localhost:5050/.

Building locally.

If you are a developer and want to build the system locally, you should have Mongodb running locally.

YoBulk is a fullstack next.js application which uses Mongodb as it's primary Database.

git clone https://github.com/yobulkdev/yobulkdev
cd yobulkdev
yarn install
yarn run dev
  • To make use of YoBulk Open AI feature, please follow the guidelines as below.

Please update OPENAI_SECRET_KEY variable in .env file with the Open AI key generated from OpenAI API site

The dashboard is ready to view at http://localhost:5050/.

YoBulk Cloud

YoBulk Cloud is the fastest and most reliable way to run YoBulk. You can get started with free credits in minutes.

Sign up for YoBulk Cloud.

Quick start

Please view the documentation to explore CSV importing flow.

Roadmap

Features

Supported Features

  • ⚡  No code Template and Import button creation
  • ⚡  Smart auto matching between the CSV column and Template column
  • ⚡  Custom validation rule setting against a field
  • ⚡  Delightful Data review experience
  • ⚡  Scalable through streaming.You can import a CSV with size of 1GB
  • ⚡  GPT3 Integration
  • ⚡  Template creation through JSON
  • ⚡  Regex creation and addition in custom validation
  • ⚡  Collaboration & workspace creation.
  • ⚡  AI based auto suggestion for correcting errors

Coming Soon:

  • ⚡  Custom LLM models for Auto suggestion and Auto Cleaning of CSV errors
  • ⚡  Data mapping decission knowledge graph for different sectors

Demos

NoCode Template Creation Demo

No_code_Template.mp4

All DataType Validation Demo

All_DataType_Validation.mp4

String Validation Demo

yo_string_validation.mp4

GPT Demo

GPT.Demo.mp4

Why are we building this?

More than 70% of the business data is shared in the form of CSVs and Excel files. Less than 10% have truly adopted API integrations for data exchange.

As a developer and product manager, we have gone through the pain of building a scalable CSV importer. Everyday thousands of developers go through the same pain and hundreds of companies have to get enormous amount of spreadsheet and CSV data into a database.

YoBulk is building an OSS standard for CSV and flatfile data onboarding where it can help you to build a data importing solution in-house.

Enterprises like Flatfile.com are addressing this problem but it has constraints like weak data security and high pricing. While developers want an embeddable/scalable CSV importer for SaaS, the truth is that, it is not possible to come up with an "one-size fits all solution" within such fragmented market.

All these restrictions necessitate our mission, to make it possible for anyone to create an data import solution that suits their needs well.

To Developers, we would like to offer a "bring your own validations"(BYOV) and "bring your own database"(BYOD) experience. You can design and modify validations rules on your own way using YoBulk.

To enterprises , YoBulk is dedicated to bring data security. Moreover, you have 100% control of your data armed with long-term maintainability.

To be honest, we do not claim to outperform flatfile.com in terms of functionality and design, at least for now. Besides, our priority is to add more functionality at the moment. We would like to cultivate a community to democratise the knowledge and bring all CSV and flatfile open source projects under a single framework.

Read more Open vs Closed Data Onboarding

Our Mission

Our mission is to provide the most powerful flatfile(CSV,Spreadsheet) importer which is open source to every single internet business in the world. An AI first data exchange for businesses to share flatfiles where you are in-charge of your customer’s data onboarding, validation & transformation. We stongly support Anderz's vision.

The Open Source Alternative To Flatfile.com.

Our Vision

YoBulk's vision is to create an AI first knowledge graph for carrying out over billions of data mapping decisions while exchanging data between businesses across various sectors through flat files such as CSV and Excel.

Support

If you have any questions or problems, please visit our GitHub discussions page, and we'll try to help you as soon as possible.

https://github.com/yobulkdev/yobulkdev/discussions

License

YoBulk is an open-source software with the AGPL 3.0 license.

Contributors

We welcome contributions to YoBulk.

yobulkdev's People

Contributors

airbogdan avatar kapoorp99 avatar sairanjan avatar samurai2y avatar shriansh2002 avatar yobulkmaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yobulkdev's Issues

YoBulk should support column hooks to do custom validation at cell level.

Example: Column hook Input
[
{ value: "[email protected]", index: 0 },
{ value: "[email protected]", index: 1 },
{ value: "[email protected]", index: 2 },
{ value: "[email protected]", index: 3 },
];

Column Hook Output:
[
{
index: 0,
value: "[email protected]",
info: [
{
message: "Automatically corrected email domain",
level: "info", // should be "info", "warning" or "error"
},
],
},
// we can omit cells that don't need any changes or messages
{
index: 2,
// Don't need to supply value if we're not changing it
info: [
{
message: "Email not found",
level: "error",
},
],
},
];

Boolean column value is not visible in data grid

The react-ag-grid is used in the dataviewer. If the column value is true or false, then the value is not visible in the column. The idea could be to implement a checkbox method to tackle this issue

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.