A Terminal-based Kanban board application built with Go, using the Charm Bubble Tea framework and PostgreSQL for persistent task storage.
- Interactive terminal UI using Bubble Tea
- Three-column Kanban board (Todo, In Progress, Done)
- Task creation with title and description
- Move tasks between columns
- Delete tasks
- Persistent storage with PostgreSQL
- Keyboard navigation
- Go 1.18 or higher
- PostgreSQL database
- Terminal with full color support
- Clone the repository:
git clone https://github.com/dtchkoidze/kanugo.git
cd go-kanban- Install dependencies:
go mod download- Set up the PostgreSQL database:
First, make sure you have a PostgreSQL database created:
# Example command to create a database (run in your terminal)
createdb kanban_dbThen, run the migration script to create the necessary tables:
# Run the migration script
go run scripts/migrate.goThe migration will create the following table structure:
Table "public.tasks"
Column | Type | Collation | Nullable | Default
-------------+---------+-----------+----------+-----------------------------------
id | integer | | not null | nextval('tasks_id_seq'::regclass)
title | text | | not null |
description | text | | |
status | integer | | |
Indexes:
"tasks_pkey" PRIMARY KEY, btree (id)
- Create a
.envfile in the project root:
DATABASE_URL=postgres://username:password@localhost:5432/kanban_db
Run the application:
go run main.go←/→orh/l: Navigate between columns↑/↓: Navigate tasks within a columnEnter: Move task to the next column (cycles back to Todo after Done)n: Add a new taskDelete: Delete the selected taskq: Quit the application
go-kanban/
├── main.go # Main application code
├── migrations/ # Database migrations
│ └── 001_create_tasks_table.sql # Initial table creation
├── scripts/ # Utility scripts
│ └── migrate.go # Database migration helper
├── go.mod # Go module definition
├── go.sum # Go module checksums
├── .env # Environment variables (not in version control)
├── README.md # This file
└── .gitignore # Git ignore file
- Bubble Tea - Terminal UI framework
- Bubbles - UI components for Bubble Tea
- Lip Gloss - Style definitions for terminal applications
- pgx - PostgreSQL driver
- godotenv - .env file parser
To build the application:
go build -o kanbanOr to build && run:
go run .MIT