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
Log in or sign up for Devpost to join the conversation.