Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TaKO8Ki/gobang
A cross-platform TUI database management tool written in Rust
https://github.com/TaKO8Ki/gobang
database rust sql terminal tui
Last synced: about 2 months ago
JSON representation
A cross-platform TUI database management tool written in Rust
- Host: GitHub
- URL: https://github.com/TaKO8Ki/gobang
- Owner: TaKO8Ki
- License: mit
- Created: 2021-06-12T04:41:33.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-10T08:10:28.000Z (about 1 year ago)
- Last Synced: 2024-10-16T10:24:12.859Z (about 2 months ago)
- Topics: database, rust, sql, terminal, tui
- Language: Rust
- Homepage:
- Size: 75.5 MB
- Stars: 2,896
- Watchers: 29
- Forks: 90
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- stars - TaKO8Ki/gobang - platform TUI database management tool written in Rust (HarmonyOS / Windows Manager)
- my-awesome - TaKO8Ki/gobang - 11 star:3.0k fork:0.1k A cross-platform TUI database management tool written in Rust (Rust)
- awesome-ratatui - gobang - Cross-platform TUI database management tool. (💻 Apps / ⌨️ Development Tools)
- awesome-tuis - gobang - platform TUI database management tool written in Rust (Table of Contents)
README
![gobang](./resources/logo.png)
gobang is currently in alpha
A cross-platform TUI database management tool written in Rust
[![github workflow status](https://img.shields.io/github/workflow/status/TaKO8Ki/gobang/CI/main)](https://github.com/TaKO8Ki/gobang/actions) [![crates](https://img.shields.io/crates/v/gobang.svg?logo=rust)](https://crates.io/crates/gobang)
![gobang](./resources/gobang.gif)
## Features
- Cross-platform support (macOS, Windows, Linux)
- Multiple Database support (MySQL, PostgreSQL, SQLite)
- Intuitive keyboard only control## TODOs
- [ ] SQL editor
- [ ] Custom key bindings
- [ ] Custom theme settings
- [ ] Support the other databases## What does "gobang" come from?
gobang means a Japanese game played on goban, a go board. The appearance of goban looks like table structure. And I live in Kyoto, Japan. In Kyoto city, streets are laid out on a grid (We call it “goban no me no youna (碁盤の目のような)”). They are why I named this project "gobang".
## Installation
### With Homebrew (Linux, macOS)
If you’re using Homebrew or Linuxbrew, install the gobang formula:
```
brew install tako8ki/tap/gobang
```### On Windows
If you're a Windows Scoop user, then you can install gobang from the [official bucket](https://github.com/ScoopInstaller/Main/blob/master/bucket/gobang.json):
```
scoop install gobang
```
### On NixOSIf you're a Nix user, you can install [gobang](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/database/gobang/default.nix) from nixpkgs:
```
$ nix-env --install gobang
```### On Archlinux
If you're an Archlinux user, you can install [gobang](https://aur.archlinux.org/packages/gobang-bin) from AUR:
```
paru -S gobang-bin
```### On NetBSD
If you're a NetBSD user, then you can install gobang from [pkgsrc](https://pkgsrc.se/databases/gobang):
```
pkgin install gobang
```### With Cargo (Linux, macOS, Windows)
If you already have a Rust environment set up, you can use the `cargo install` command:
```
cargo install --version 0.1.0-alpha.5 gobang
```### From binaries (Linux, macOS, Windows)
- Download the [latest release binary](https://github.com/TaKO8Ki/gobang/releases) for your system
- Set the `PATH` environment variable## Usage
```
$ gobang
``````
$ gobang -h
USAGE:
gobang [OPTIONS]FLAGS:
-h, --help Prints help information
-V, --version Prints version informationOPTIONS:
-c, --config-path Set the config file
```If you want to add connections, you need to edit your config file. For more information, please see [Configuration](#Configuration).
## Keymap
| Key | Description |
| ---- | ---- |
| h, j, k, l | Scroll left/down/up/right |
| Ctrl + u, Ctrl + d | Scroll up/down multiple lines |
| g , G | Scroll to top/bottom |
| H, J, K, L | Extend selection by one cell left/down/up/right |
| y | Copy a cell value |
| ←, → | Move focus to left/right |
| c | Move focus to connections |
| / | Filter |
| ? | Help |
| 1, 2, 3, 4, 5 | Switch to records/columns/constraints/foreign keys/indexes tab |
| Esc | Hide pop up |## Configuration
The location of the file depends on your OS:
- macOS: `$HOME/.config/gobang/config.toml`
- Linux: `$HOME/.config/gobang/config.toml`
- Windows: `%APPDATA%/gobang/config.toml`The following is a sample config.toml file:
```toml
[[conn]]
type = "mysql"
user = "root"
host = "localhost"
port = 3306[[conn]]
type = "mysql"
user = "root"
host = "localhost"
port = 3306
password = "password"
database = "foo"
name = "mysql Foo DB"[[conn]]
type = "postgres"
user = "root"
host = "localhost"
port = 5432
database = "bar"
name = "postgres Bar DB"[[conn]]
type = "sqlite"
path = "/path/to/baz.db"
```## Contribution
Contributions, issues and pull requests are welcome!