Skip to content

magicxor/ExtensibleDataPipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExtensibleDataPipeline

release Ask DeepWiki License: GPL v3

A modular and extensible data pipeline framework for .NET that pulls data from various sources and pushes it to multiple targets using a plugin-based architecture.

Imgur

✨ Features

  • Plugin-based architecture — Easily extend functionality by creating custom data source and target providers
  • Multiple data flows — Configure multiple independent data pipelines in a single instance
  • Regex filtering — Include or exclude content using regular expression patterns
  • State persistence — Automatically tracks processed items to avoid duplicates

📦 Built-in Providers

Data Source Providers

Provider Description
DvachThreadDataSourceProvider Fetches new threads from 2ch.hk boards
DvachPostDataSourceProvider Fetches new posts from 2ch.hk threads
VkFeedDataSourceProvider Fetches posts from VK (VKontakte) feed
TelegramChannelDataSourceProvider Fetches messages from Telegram channels

Target Providers

Provider Description
FileTargetProvider Saves data to a local file
TelegramTargetProvider Sends data to a Telegram chat/channel via bot

🏗️ Architecture

The project uses System.Composition (MEF - Managed Extensibility Framework) to dynamically load plugins at runtime. Providers are automatically discovered by scanning assemblies with names matching Edp.DataSourceProvider.* or Edp.TargetProvider.*.

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/magicxor/ExtensibleDataPipeline.git
    cd ExtensibleDataPipeline
  2. Build the solution:

    dotnet build
  3. Configure appsettings.json

  4. Run the CLI:

    dotnet run --project Edp.Cli.NetCore