Inspiration

I use Go and SQLite for most of my projects and usually I use the CLI to view changes or make edits. Writing SQL queries is not my favourite part of debugging, so I made this program to do the simple stuff with just a couple clicks.

What it does

Completed Features

  • View tables
  • Edit rows
  • Seed test data
  • Execute custom queries

How we built it

I built dbtui entirely with Go, using Charmbracelet's libraries for styling the terminal UI

Challenges we ran into

Charmbracelet's libraries (Bubbletea, Bubbles, Lipgloss, Huh) while popular, does not have much community support outside the documentation. That has lead to many headaches trying to fix bugs as google or even llms couldn't help me. Also, the bubbletea architecture uses Elm MVC patterns which I was unfamiliar with.

Accomplishments that we're proud of

I wanted experience with using this library as I need to use it for an upcoming project, and while the start was rough I ended up getting used to it. Overall I still ended up with a usable mvp that I can improve on later.

What we learned

I got a lot of hands-on experience with the MVC pattern. I also got a deeper look into SQLite and many of its diagnostic features that I normally wouldn't use in a simple web app.

What's next for dbtui

Planned Features

  • Add new tables/columns/rows
  • Delete tables/columns/rows
  • Manage multiple databases
  • Better error handling with edge and corner cases

README

dbtui

SQLite database manager in your terminal

This is a solo project submitted to BCIT HTTPHacks 2025 Hackathon

Dependencies

  • go 1.25.3
  • make (*optional building with make)

Quickstart

git clone https://github.com/kvnbanunu/dbtui.git
cd dbtui
go run main.go -seed ./sqlite.db

Features

Completed Features

  • View tables
  • Edit rows
  • Seed test data
  • Execute custom queries

Planned Features

  • Add new tables/columns/rows
  • Delete tables/columns/rows

Usage

Option 1 Build from source

git clone https://github.com/kvnbanunu/dbtui.git
cd dbtui

make build
or
go build main.go -o <BUILD PATH>/dbtui

cd <BUILD PATH>
./dbtui [OPTIONS] <DB PATH>

Option 2 Run without building

git clone https://github.com/kvnbanunu/dbtui.git
cd dbtui

go run main.go [OPTIONS] <DB PATH>

Option 3 Install to GO bin

go install github.com/kvnbanunu/dbtui

dbtui [OPTIONS] <DB PATH>

Options

  • [-h] Displays a help message
  • [-seed] Seeds database with test data

Built With

Share this project:

Updates