Skip to content

thobandby/data-mapper

Repository files navigation

Dynamic Data Importer (PHP)

Platform-agnostic, schema-aware import pipeline for CSV, XLS, XLSX, JSON, and XML.

The product basis of this repository is the reusable package set under packages/. The application code under apps/ exists to exercise that package layer, not to define the production boundary.

What It Includes

  • Reusable core, Doctrine, CLI, and Symfony adapter packages
  • Import targets for dry run, Doctrine-backed database import, JSON export, XML export, and SQL export
  • Runnable CLI application for exercising the package layer
  • Hosted Symfony demo at https://dde.baumann-it-dienstleistungen.de
  • Standalone core API entrypoint for analyze, preview, and execute flows

Current Scope

The current product scope is focused on importing tabular and structured source data into a single target flow.

Supported today:

  • CSV, XLS, XLSX, JSON, and XML input
  • Mapping source fields into a target structure
  • Dry run, Doctrine-backed persistence, JSON export, XML export, and SQL export in the package layer
  • CLI integrations and package-level API surfaces for evaluation of the package layer

Not part of the current scope:

  • multi-table mapping flows
  • reading from a database and transforming into output formats
  • adapter families that are still in planning

Production Readiness

The reusable import engine and package structure are intended to become production-capable within the currently supported scope.

Current status:

  • packages/core, packages/doctrine-adapter, packages/cli-adapter, and packages/symfony-adapter are the product basis
  • apps/demo-cli is the remaining runnable application surface in this repository
  • https://dde.baumann-it-dienstleistungen.de exposes the Symfony-based demo surface

Production hardening is still expected around:

  • operational concerns such as queue handling, retries, monitoring, and deployment discipline
  • stricter guarantees for long-term API and release compatibility
  • public support and release processes around published versions

Releases

Releases currently mean GitHub-based source releases for this repository.

Current release expectations:

  • release automation is centered around GitHub releases and release PRs
  • package publishing beyond GitHub releases is not defined yet
  • public release scope may still change during the beta phase

Support

Public project feedback should go through GitHub:

  • use GitHub Issues for bug reports and feature requests
  • use info@baumann-it-dienstleistungen.de for general contact and repository-related questions
  • use info@baumann-it-dienstleistungen.de with [SECURITY] in the subject for private security reports

Versioning

Versioning is still evolving during the early beta phase.

At this stage:

  • release contents are still being shaped by active product decisions
  • version numbers should not yet be read as a strict long-term compatibility guarantee
  • breaking changes may still happen while the supported scope is being finalized

Planned Features

The following features are planned but are not part of the current public product promise:

  • MCP adapter
  • PDO adapter
  • multi-table mapper
  • reverse flows that read from a database and transform into target output formats

Repo Layout

  • packages/core – framework-neutral import workflow, readers, and exporters
  • packages/doctrine-adapter – Doctrine persistence adapter
  • packages/cli-adapter – command-line adapter
  • packages/symfony-adapter – Symfony integration layer
  • apps/demo-cli – runnable CLI application for the package layer

Hosted Demo

The Symfony-based demo is available at https://dde.baumann-it-dienstleistungen.de.

Quickstart

composer install
composer dump-autoload
composer test

composer test runs the repository-wide verification suite: PHPUnit, PHPStan, PHP CS Fixer, and PHP Insights.

Standalone Core API

The core package also ships a standalone API entrypoint. This endpoint represents the underlying product capabilities directly:

./bin/api [port]

By default it runs on http://localhost:8000 and serves the analyze/preview/execute flow documented in packages/core/docs/openapi.yaml.

About

Dynamic Data Importer is a platform-agnostic, schema-aware data import engine designed to reliably transform structured input data into a defined target format.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages