An open API service indexing awesome lists of open source software.

https://github.com/clidey/whodb

A lightweight next-gen data explorer - Postgres, MySQL, SQLite, MongoDB, Redis, MariaDB, Elastic Search, and Clickhouse with Chat interface
https://github.com/clidey/whodb

anthropic chatgpt clickhouse data-analysis database elasticsearch explorer golang lightweight mariadb mongodb mysql ollama openai parcel postgresql reactjs sqlite3 typescript

Last synced: 28 days ago
JSON representation

A lightweight next-gen data explorer - Postgres, MySQL, SQLite, MongoDB, Redis, MariaDB, Elastic Search, and Clickhouse with Chat interface

Awesome Lists containing this project

README

          

# whodb

### *Lightweight, Fast, and Beautiful Database Management*

![Release workflow](https://img.shields.io/github/actions/workflow/status/clidey/whodb/release-ce.yml?branch=main)
![release version](https://img.shields.io/github/v/release/clidey/whodb)
![release date](https://img.shields.io/github/release-date/clidey/whodb)
![docker pulls](https://img.shields.io/docker/pulls/clidey/whodb)
![release downloads](https://img.shields.io/github/downloads/clidey/whodb/total)
![docker size](https://img.shields.io/docker/image-size/clidey/whodb/latest)

![Commits per month](https://img.shields.io/github/commit-activity/m/clidey/whodb)
![last commit](https://img.shields.io/github/last-commit/clidey/whodb)
![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)
![contributors](https://img.shields.io/github/contributors/clidey/whodb)
![closed issues](https://img.shields.io/github/issues-closed/clidey/whodb)
![closed PRs](https://img.shields.io/github/issues-pr-closed/clidey/whodb)

[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
[![GitHub Stars](https://img.shields.io/github/stars/clidey/whodb?style=social)](https://github.com/clidey/whodb/stargazers)
![Go](https://img.shields.io/badge/language-Go-00ADD8?logo=go&logoColor=white)
![TypeScript](https://img.shields.io/badge/language-TypeScript-3178c6?logo=typescript&logoColor=white)
[![Go Report Card](https://goreportcard.com/badge/github.com/clidey/whodb/core)](https://goreportcard.com/report/github.com/clidey/whodb/core)

## Available on

[![Docker](https://img.shields.io/badge/Docker-available-brightgreen)](https://hub.docker.com/repository/docker/clidey/whodb)
[![Windows](https://img.shields.io/badge/Windows-available-brightgreen)](https://apps.microsoft.com/detail/9pftx5bv4ds6)
[![macOS](https://img.shields.io/badge/macOS-available-brightgreen)](https://apps.apple.com/app/whodb/id6754566536)
[![Snap](https://img.shields.io/badge/Snap-available-brightgreen)](http://snapcraft.io/whodb)

[🚀 Quick Start](#quick-start) • [📖 Documentation](https://docs.whodb.com/) • [🎮 Live Demo](https://whodb.com/demo/login?host=quick-container-491288b0-3138-48fa-93b4-1e730296c0b7.hello.svc.cluster.local&username=user&password=password&database=Adventureworks) • [💬 Community](https://github.com/clidey/whodb/discussions)

---

WhoDB Interface

## 🎯 What is WhoDB?

**WhoDB is the modern database management tool that developers actually want to use.**

Built with GoLang and React, WhoDB is a lightweight (<50MB) yet powerful database client that combines blazing-fast performance with an intuitive, beautiful interface. Whether you're debugging a production issue, exploring a new database schema, or managing data for your next feature, WhoDB makes database management feel effortless.

### Why WhoDB?

**🚀 Lightning Fast**
- Instant startup (<1s)
- Real-time query results
- Efficient table virtualization
- 90% less resource usage than traditional tools

**🎨 Beautiful & Intuitive**
- Clean, modern interface
- Spreadsheet-like data grid
- Interactive schema visualization
- No training required

**🤖 AI-Powered**
- Natural language to SQL
- Talk to your data conversationally
- Supports Ollama, OpenAI, and Anthropic
- No complex query writing needed

**🔧 Developer-Friendly**
- Multi-database support
- Query history & management
- Mock data generation
- Flexible export options

## ✨ Key Features

### 📊 Visual Data Management

Data Grid View

**Spreadsheet-Like Data Grid**
- View, edit, and manage data intuitively
- Sort, filter, and search with ease
- Inline editing with real-time updates
- Bulk operations for efficiency

### 🔍 Interactive Schema Explorer

**Visual Schema Topology**
- Interactive graph visualization
- Explore table relationships
- Understand foreign keys instantly
- Pan, zoom, and navigate easily

Schema Graph

### 💻 Powerful Query Interface

Scratchpad

**Scratchpad Query Editor**
- Jupyter-like notebook interface
- Syntax highlighting & auto-completion
- Query history & reuse
- Multi-cell organization

### 🗄️ Multi-Database Support

**Community Edition (CE):** PostgreSQL, MySQL, SQLite3, MongoDB, Redis, MariaDB, ElasticSearch

**Enterprise Edition (EE):** All CE databases plus Oracle, SQL Server, DynamoDB, Athena, Snowflake, Cassandra, and more

### 🎯 Advanced Capabilities

- **Mock Data Generation** - Generate realistic test data for development
- **Flexible Export Options** - Export to CSV, Excel, JSON, or SQL
- **Advanced Filtering** - Build complex WHERE conditions visually
- **AI-Powered Queries** - Convert natural language to SQL with Ollama, OpenAI, or Anthropic

---

## 🎮 Try WhoDB Now

**Experience WhoDB in action without any setup**

🌐 Live Demo


Try WhoDB instantly with our sample database



Login Page

Launch Demo →


Pre-filled with sample PostgreSQL database

🎥 Video Demo


Watch WhoDB in action



WhoDB Demo Video

Watch Video →


Complete walkthrough of features

---

## 🚀 Quick Start

### Option 1: Docker (Recommended)

The fastest way to get started with WhoDB:

```bash
docker run -it -p 8080:8080 clidey/whodb
```

Then open [http://localhost:8080](http://localhost:8080) in your browser.

### Option 2: Docker Compose

For more control and configuration:

```yaml
version: "3.8"
services:
whodb:
image: clidey/whodb
ports:
- "8080:8080"
environment:
# AI Integration (Optional)
# Ollama Configuration
- WHODB_OLLAMA_HOST=localhost
- WHODB_OLLAMA_PORT=11434

# Anthropic Configuration
- WHODB_ANTHROPIC_API_KEY=your_key_here
# - WHODB_ANTHROPIC_ENDPOINT=https://api.anthropic.com/v1

# OpenAI Configuration
- WHODB_OPENAI_API_KEY=your_key_here
# - WHODB_OPENAI_ENDPOINT=https://api.openai.com/v1
# volumes: # (Optional for SQLite)
# - ./sample.db:/db/sample.db
```

### What's Next?

1. **Connect to your database** - Enter your database credentials on the login page
2. **Explore your schema** - Browse tables and visualize relationships
3. **Run queries** - Use the Scratchpad to execute SQL queries
4. **Manage data** - Edit, add, and delete records with ease

📖 **For detailed installation options and configuration**, see our [Documentation](https://docs.whodb.com/)

---

## 🛠️ Development Setup

### Prerequisites

- **GoLang** - Latest version recommended
- **PNPM** - For frontend package management
- **Node.js** - Version 16 or higher

### Editions

**Community Edition (CE)**
- PostgreSQL
- MySQL / MariaDB
- SQLite3
- MongoDB
- Redis
- ElasticSearch

**Enterprise Edition (EE)**
- All CE databases
- Oracle
- SQL Server
- DynamoDB
- Athena
- Snowflake
- Cassandra
- And more...

📚 See [BUILD_AND_RUN.md](./BUILD_AND_RUN.md) for detailed build instructions and [ARCHITECTURE.md](./ARCHITECTURE.md) for architecture details.

### Frontend Development

Navigate to the `frontend/` directory and start the development server:

```bash
cd frontend
pnpm i
pnpm start
```

### Backend Development

#### 1. Build Frontend (First-Time Setup)

If the `core/build/` directory doesn't exist, build the frontend first:

```bash
cd frontend
pnpm install
pnpm run build
rm -rf ../core/build/
cp -r ./build ../core/
cd ..
```

> **Note:** This is only required once, as Go embeds the `build/` folder on startup.

#### 2. Setup AI Integration (Optional)

To enable natural language queries:

1. **Ollama** - Download from [ollama.com](https://ollama.com/)
```bash
# Install Llama 3.1 8b model
ollama pull llama3.1
```
WhoDB will auto-detect installed models and show a **Chat** option in the sidebar.

2. **OpenAI/Anthropic** - Set environment variables (see Docker Compose example above)

#### 3. Start Backend Service

```bash
cd core
go run .
```

The backend will start on `http://localhost:8080`

---

## 💼 Use Cases

### 👨‍💻 For Developers

**Local Development**
- Quick database inspection during development
- Debug production issues with read-only access
- Test API endpoints with real data
- Explore schema changes

**API Development**
- Validate data transformations
- Test query performance
- Generate mock data for testing
- Export data for integration tests

### 📊 For Data Analysts

- Run ad-hoc SQL queries quickly
- Export data to Excel for analysis
- Build complex filters visually
- Visualize table relationships

### 🧪 For QA Engineers

- Generate realistic test data
- Verify database state during testing
- Debug test failures quickly
- Validate data migrations

### 🛠️ For Database Administrators

- Monitor table structures and indexes
- Manage user data efficiently
- Quick schema exploration
- Emergency data fixes

---

## ❓ Frequently Asked Questions

What makes WhoDB different from other database tools?

WhoDB combines the lightweight nature of tools like Adminer with modern UX, powerful visualizations, and AI capabilities. Unlike resource-heavy tools like DBeaver, WhoDB uses 90% less memory while providing a faster, more intuitive experience.

Is WhoDB suitable for production use?

Yes, WhoDB is production-ready and used by thousands of developers. For production environments, we recommend:
- Using read-only database accounts when possible
- Enabling SSL/TLS connections
- Consider Enterprise Edition for audit logging and advanced security features

How does WhoDB handle large datasets?

WhoDB implements several performance optimizations:
- Table virtualization for efficient rendering
- Lazy loading for large result sets
- Pagination controls
- Query result streaming

Which databases are supported?

**Community Edition:** PostgreSQL, MySQL, MariaDB, SQLite3, MongoDB, Redis, ElasticSearch

**Enterprise Edition:** All CE databases plus Oracle, SQL Server, DynamoDB, Athena, Snowflake, Cassandra, and more

How do I deploy WhoDB?

WhoDB can be deployed in multiple ways:
- **Docker** - Single command deployment
- **Docker Compose** - For production setups
- **Kubernetes** - For enterprise environments
- **Binary** - Direct installation on servers

See our [Quick Start](#quick-start) section for details.

Does WhoDB store my credentials?

No. WhoDB does not store database credentials by default. Connections are temporary and credentials are cleared when you close the browser. You can optionally configure connection profiles stored locally in your browser.

Can I use WhoDB with AI features?

Yes! WhoDB integrates with:
- **Ollama** - For local, private AI models
- **OpenAI** - GPT-4 and other OpenAI models
- **Anthropic** - Claude models

These integrations allow you to query your database using natural language instead of SQL.

## 🤝 Contributing

We welcome contributions from the community! Whether it's bug reports, feature requests, or code contributions, we appreciate your help in making WhoDB better.

### How to Contribute

1. **Report Issues** - Found a bug? [Open an issue](https://github.com/clidey/whodb/issues)
2. **Request Features** - Have an idea? [Start a discussion](https://github.com/clidey/whodb/discussions)
3. **Submit PRs** - Want to contribute code? Check our [Contributing Guide](CONTRIBUTING.md)
4. **Improve Docs** - Help us improve documentation

### Development Resources

- [Contributing Guide](CONTRIBUTING.md) - Detailed contribution guidelines
- [Architecture](ARCHITECTURE.md) - Understanding the codebase
- [Build & Run](BUILD_AND_RUN.md) - Development setup instructions

---

## 📸 Screenshots

View More Screenshots

### Data Management
Data View

### Add/Edit Records
Add Row

### Advanced Filtering
Where Conditions

### Export Options
Export Dialog

### Schema Graph Visualization
Graph View

### Scratchpad Query Editor
Scratchpad

### Query Results
Query Results

### Multiple Database Support
Database Types

---

## 🏢 Infrastructure & Support

WhoDB's deployment and CI/CD are powered by [Clidey](https://clidey.com), a no-code DevOps platform.

### Contact & Support

- **Email:** [support@clidey.com](mailto:support@clidey.com)
- **GitHub Issues:** [Report a bug](https://github.com/clidey/whodb/issues)
- **Discussions:** [Join the conversation](https://github.com/clidey/whodb/discussions)
- **Documentation:** [docs.whodb.com](https://docs.whodb.com/)

---

### ⭐ Star Us on GitHub!

If you find WhoDB useful, please consider giving us a star on GitHub. It helps us grow the community and continue improving WhoDB.

[![GitHub stars](https://img.shields.io/github/stars/clidey/whodb?style=social)](https://github.com/clidey/whodb/stargazers)

---

**Built with ❤️ by the Clidey team**

*"Is it magic? Is it sorcery? No, it's just WhoDB!"*