Skip to content

Connect to any database, explore schemas, and generate realistic dummy data with AI-powered content generation.

Notifications You must be signed in to change notification settings

jaewonLeeKOR/ai-dummies

Repository files navigation

AI Dummies - Database Dummy Data Generator

Connect to any database, explore schemas, and generate realistic dummy data with AI-powered content generation.

Features

  • 5 DBMS Support - PostgreSQL, MySQL, MSSQL, SQLite, Oracle
  • Auto FK Resolution - Analyzes foreign key relationships and generates parent data first
  • Faker Templates - Email, phone, name, address, company, and 20+ realistic data patterns
  • AI-Generated Content - Use OpenAI to generate context-aware text data (bio, descriptions, comments, etc.)
  • GIS Data - PostGIS Point, LineString, Polygon geometry generation
  • Smart Defaults - Automatically suggests generation mode based on column name and type
  • Unlimited Rows - Batch processing with real-time progress tracking via SSE
  • Single Binary - One Docker image serves both frontend and API

Quick Start

Docker (Recommended)

docker run -p 8080:8080 aidummies

Open http://localhost:8080 in your browser.

Docker Compose (with sample databases)

docker-compose up

This starts the app along with sample PostgreSQL, MySQL, and MSSQL instances for testing.

Local Development

Prerequisites: Go 1.22+, Node.js 20+

# Backend
cd backend
go run ./cmd/server/

# Frontend (separate terminal)
cd frontend
npm install
npm run dev

Environment Variables

Variable Description Required
OPENAI_API_KEY OpenAI API key for AI-generated content Optional (can also input in UI)
PORT Server port (default: 8080) No

Supported Data Types

Category Generation Modes
Numbers (int, float, decimal) Range (min/max)
Strings (varchar, text) Enum list, Faker template, AI-generated
Date/Time Auto (random within range)
Boolean Auto (random true/false)
UUID Auto (random UUID v4)
JSON Auto or AI-generated
Geometry (PostGIS) Point, LineString, Polygon with configurable bounds

Faker Templates

email, phone, firstName, lastName, name, streetAddress, city, state, zip, country, company, url, ipv4Address, sentence, paragraph, and more via gofakeit.

Usage Workflow

Step 1: Connect to Database

Select your DBMS type and enter connection details. Click "Test & Connect" to verify.

Step 2: Explore Schema

Browse all schemas, tables, and columns. Select the tables you want to populate.

Step 3: Configure Columns

For each selected table, set the number of rows and configure each column:

  • Skip - Auto-increment/PK columns (auto-detected)
  • Auto - FK columns (resolved from parent), dates, booleans, UUIDs
  • Range - Numeric columns with min/max bounds
  • Enum - Pick from a list of values
  • Faker - Realistic data templates (email, phone, address, etc.)
  • AI - Describe the content and let OpenAI generate it
  • Geo - GIS geometry with coordinate bounds

Step 4: API Key (if needed)

If any column uses AI generation, enter your OpenAI API key or use the environment variable.

Step 5: Generate

Click "Start Generation" and watch real-time progress. Data is inserted in batches with live progress bars.

API Reference

Method Endpoint Description
POST /api/connect Test and establish DB connection
POST /api/disconnect Close DB connection
GET /api/schemas Read all schemas/tables/columns/FKs
POST /api/generate Start data generation (SSE stream)
GET /api/health Health check

Tech Stack

  • Backend: Go, Chi router, database/sql
  • Frontend: SvelteKit, Tailwind CSS, shadcn-svelte
  • AI: OpenAI API (gpt-4o-mini)
  • Deployment: Single Docker image (Go serves static SvelteKit build)

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT

About

Connect to any database, explore schemas, and generate realistic dummy data with AI-powered content generation.

Topics

Resources

Stars

Watchers

Forks

Packages