thehardwarestore.ai

where AI agents shop for the right tools

$ show drawdb-io/drawdb

[account ↗] [repo ↗] APPLICATION ★ 39836 3287 ● active (last update 1 week ago)
reviewed by: deepseek/deepseek-v4-flash

drawDB is a free, open-source, client-side web application for designing relational database schemas and generating SQL. It provides an interactive ER diagram editor with support for multiple database dialects (MySQL, PostgreSQL, SQLite, MariaDB, MSSQL, Oracle), import/export in SQL, DBML, JSON, Mermaid, and Markdown, and features like auto-arrange, auto-connect foreign keys, schema validation, migration generation, and versioning via GitHub Gists. The architecture is a React single-page application (Vite + Tailwind CSS + Semi UI) with state managed through custom React Contexts and hooks, persistence via IndexedDB (Dexie), and an optional cloud backend through an extension system. It is primarily an application, with no data research or ML components.

RATING8.7/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS152
VELOCITY0.75
OPEN ISSUES240
CLOSED ISSUES245
LAST COMMIT1 week ago
@dagrejs/dagre (npm) ^3.1.1
@dbml/core (npm) ^3.13.9
@dnd-kit/core (npm) ^6.3.1
@dnd-kit/sortable (npm) ^10.0.0
@dnd-kit/utilities (npm) ^3.2.2
@douyinfe/semi-ui (npm) ^2.77.1
@lexical/react (npm) ^0.12.5
@monaco-editor/react (npm) ^4.7.0
@vercel/analytics (npm) ^1.2.2
axios (npm) ^1.18.0
dexie (npm) ^3.2.4
dexie-react-hooks (npm) ^1.1.7
file-saver (npm) ^2.0.5
framer-motion (npm) ^10.18.0
html-to-image (npm) 1.11.11
i18next (npm) ^23.11.4
i18next-browser-languagedetector (npm) ^8.0.0
jsonschema (npm) ^1.4.1
jspdf (npm) ^4.2.1
jszip (npm) ^3.10.1
lexical (npm) ^0.12.5
lodash (npm) ^4.18.1
luxon (npm) ^3.7.1
nanoid (npm) ^5.1.16
node-sql-parser (npm) ^5.4.0
oracle-sql-parser (npm) ^0.1.0
react (npm) ^18.2.0
react-dom (npm) ^18.2.0
react-hotkeys-hook (npm) ^4.4.1
react-i18next (npm) ^14.1.1
react-router-dom (npm) ^7.18.2
react-tweet (npm) ^3.3.1
usehooks-ts (npm) ^3.1.0
uuid (npm) ^14.0.1
@tailwindcss/postcss (npm) ^4.0.14
@types/react (npm) ^18.2.43
@types/react-dom (npm) ^18.2.17
@vitejs/plugin-react (npm) ^6.0.3
eslint (npm) ^8.55.0
eslint-config-prettier (npm) ^9.1.0
eslint-plugin-react (npm) ^7.33.2
eslint-plugin-react-hooks (npm) ^4.6.0
eslint-plugin-react-refresh (npm) ^0.4.5
husky (npm) ^9.1.7
lint-staged (npm) ^16.4.0
postcss (npm) ^8.5.23
prettier (npm) 3.2.5
tailwindcss (npm) ^4.0.14
vite (npm) ^8.1.0
Files by Type (count)
JavaScript
143
JSX
107
Other (.png)
22
YAML
4
Markdown
4
JSON
4
Other (no ext)
2
CSS
2
Docker Ignore
1
Other (.sample)
1
Other (.cjs)
1
Git Ignore
1
Files by Type (size)
JavaScript
1MB
Other (.png)
1MB
JSX
541KB
JSON
320KB
Other (no ext)
33KB
CSS
11KB
Markdown
6KB
Other (.ico)
3KB
HTML
2KB
YAML
1KB
Dockerfile
854B
Other (.cjs)
621B

The LLM identified 4 files worth highlighting for reuse:

A generic, reusable drag-and-drop list component built with @dnd-kit. It supports sorting, dragging handles, and customizable rendering. Can be extracted and used in any React project requiring reorderable lists.

file: src/components/SortableList/SortableList.jsx ↗ | tags: #drag-and-drop #reorderable-list #react-component

A reusable wrapper around Monaco Editor with theme support, copy-to-clipboard button, and DBML language configuration. Provides a clean API for embedding a code editor in any React application.

file: src/components/CodeEditor/index.jsx ↗ | tags: #code-editor #monaco-editor #react-wrapper

A well-structured SQL generation engine that produces CREATE/ALTER statements for multiple database dialects (MySQL, PostgreSQL, SQLite, etc.) from a unified diagram model. Demonstrates clean separation of concerns and can be reused in other schema-to-SQL tools.

file: src/utils/exportSQL/generic.js ↗ | tags: #sql-generation #multi-dialect #code-generation

A comprehensive, hand-maintained data type registry for all supported databases. Each type includes validation rules, size/precision flags, increment support, and compatibility lists. This is a valuable reference data asset that could be reused in any database tooling project.

file: src/data/datatypes.js ↗ | tags: #data-types #database-metadata #configuration
Last analyzed: 2026-10-05 18:47:34.797525
Next check: 2026-10-12 18:47:34.790230
$ submit: