Skip to content

Repository files navigation

DataSpark

.NET Build Coverage License: MIT

Live Site: https://data.makeboldspark.com

A .NET 10 toolkit for working with SQLite databases: discover files, export tables to CSV, inspect schema, and generate C# DTOs. The solution includes a CLI, a web UI, a core library, tests, and benchmarks.

Projects

  • DataSpark.Console - CLI for discovery, export, schema reports, and code generation.
  • DataSpark.Core - Core services and models shared by the CLI and web app.
  • DataSpark.Web - ASP.NET Core MVC web UI for uploading SQLite files, analyzing tables, exporting CSVs, and generating DTOs.
  • DataSpark.Tests - MSTest unit and integration tests.
  • DataSpark.Benchmarks - BenchmarkDotNet performance benchmarks.

Features

  • Discover SQLite database files in a directory.
  • Export all tables or a filtered list to CSV.
  • Generate schema reports (text, JSON, Markdown).
  • Generate C# DTOs from database schema.
  • Web UI for upload, analysis, CSV export, and code generation.
  • Persisted file management in the web UI (save/list/delete/describe).

Quick Start

Prerequisites:

  • .NET 10.0 SDK
  • Node.js (only if you want to build DataSpark.Web frontend assets)

Build everything:

dotnet build DataSpark.sln

Run the CLI:

dotnet run --project DataSpark.Console -- --help

Run the web UI:

dotnet run --project DataSpark.Web

Build web assets (optional, for UI changes):

cd DataSpark.Web
npm install
npm run build

CLI Usage

Commands:

  • discover - list SQLite databases in a directory.
  • export - export tables to CSV.
  • schema - print schema reports.
  • generate - generate C# DTOs.

Examples:

dotnet run --project DataSpark.Console discover --path "C:\Data\DBs"
dotnet run --project DataSpark.Console export --path "C:\Data\DBs" --output "C:\Exports"
dotnet run --project DataSpark.Console export --path "C:\Data\DBs" --tables Users,Orders
dotnet run --project DataSpark.Console schema --path "C:\Data\DBs" --format json
dotnet run --project DataSpark.Console generate --path "C:\Data\DBs" --output "C:\Gen" --namespace "MyApp.Models"

Configuration

Both the CLI and web app use appsettings.json. See:

  • DataSpark.Console/appsettings.json
  • DataSpark.Web/appsettings.json

Testing

dotnet test DataSpark.sln

Repository Layout

DataSpark/
  DataSpark.Console/    # CLI app
  DataSpark.Core/       # Core library
  DataSpark.Web/        # Web UI
  DataSpark.Tests/      # Tests
  DataSpark.Benchmarks/ # Benchmarks
  DataSpark.sln

About

DataSpark is a .NET 10 toolkit that demonstrates SQLite database discovery, CSV export, schema inspection, and C# DTO generation through both a CLI and a web UI. The live deployment is available at https://data.makeboldspark.com.

Built by Mark Hazleton — Mark Hazleton, Solutions Architect DataSpark is part of the Make Bold Spark portfolio of technical demonstrations.

Contributing

Please see CONTRIBUTING.md for development workflow and coding standards.

License

MIT. See LICENSE.

About

A .NET 10 toolkit for working with SQLite databases: discover files, export tables to CSV, inspect schema, and generate C# DTOs. The solution includes a CLI, a web UI, a core library, tests, and benchmarks.

Resources

Contributing

Stars

Watchers

Forks

Used by

Contributors

Languages