Sign inSign up

niradler/dboc

By niradler

Updated about 1 year ago

DBOC offers a clean UI, fast workflow, and essential features for managing your databases.

Image
0

620

niradler/dboc repository overview

DBOC - Database Operations Center

A modern, developer-friendly database administration tool for PostgreSQL and SQLite. DBOC offers a clean UI, fast workflow, and essential features for managing your databases. The MVP is now released—advanced features are in progress!


🚀 MVP Features

  • Connect to Databases: PostgreSQL and SQLite supported (MySQL/MariaDB, DuckDB coming soon)
  • Browse Schemas & Tables: Visual navigation of schemas, tables, and columns
  • Table Data Grid: View, filter, sort, and paginate table data
  • Edit Data: Insert, update, and delete rows
  • Run SQL Queries: Execute custom SQL, view results, and query history
  • Schema Management: Add/drop columns, manage indexes and foreign keys (PostgreSQL)
  • Query History: Track and review previous queries
  • Modern UI/UX: Responsive, dark/light themes, keyboard shortcuts

🛠️ Technology Stack

  • Frontend: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui, Zustand, React Query, Monaco Editor
  • Backend: Next.js API Routes, Node.js
  • Database Drivers: pg, better-sqlite3
  • Dev Tools: ESLint, Prettier, Jest, Storybook, Docker

⚡ Quick Start

Local Development
  1. Install dependencies
    pnpm install
    
  2. Run the app
    pnpm dev
    
  3. Visit http://localhost:3000
Docker

Run the latest release with Docker:

docker run -p 3000:3000 niradler/dboc

🧩 API Overview

DBOC exposes RESTful endpoints for all major operations. Example endpoints:

  • GET /api/connections — List all connections
  • POST /api/connections — Add a new connection
  • GET /api/connections/:id/schema — List schemas
  • GET /api/connections/:id/schema/:schema/tables — List tables
  • GET /api/connections/:id/schema/:schema/tables/:table — Get table data (with pagination, filtering, sorting)
  • POST /api/connections/:id/schema/:schema/tables/:table — Insert row
  • PUT /api/connections/:id/schema/:schema/tables/:table — Update row
  • DELETE /api/connections/:id/schema/:schema/tables/:table — Delete row
  • POST /api/connections/:id/query — Run custom SQL
  • GET /api/history — Query history

More endpoints for schema/index/foreign key management are available. See the app/api/ directory for details.


🗺️ Roadmap

  • MySQL/MariaDB, DuckDB support
  • Advanced schema editing (views, constraints, stored procedures)
  • Data import/export (CSV, JSON, SQL)
  • Visual query builder
  • Multi-tab interface
  • User authentication & multi-user support
  • Swagger/OpenAPI docs

🤝 Contributing

Contributions are welcome! Please open issues or pull requests for bugs, features, or suggestions.


📦 Docker Image


License

MIT

Tag summary

Content type

Image

Digest

sha256:7861033c5

Size

462.4 MB

Last updated

about 1 year ago

docker pull niradler/dboc