← All projects

Case · Go backend

Amber: kanban board

A multi-user kanban board: sign-up, boards, columns, drag-and-drop cards. Go + SQLite without CGO, the front end is embedded in the binary.

  • Go
  • SQLite
  • Docker

01 · How it looks

Screenshots

Screenshot of the project "Amber: kanban board" at 1280 pixels wide
Desktop, 1280 px
Screenshot of the project "Amber: kanban board" on a phone screen, 390 pixels wide
Phone, 390 px

02 · About

What it is and why

A multi-user kanban board built as a learning project: sign-up, personal boards, columns, and cards you drag between columns.

The backend is Go (standard library and SQLite without CGO); the front end is plain JavaScript embedded in the binary. One file runs with no dependencies to install.

Limitations

A learning example: no password reset, no email verification, no login rate limiting. Do not expose it to the internet without HTTPS and a reverse proxy.

What is inside

  • Sign-up and login by email and password; passwords hashed with PBKDF2-HMAC-SHA256
  • Sessions in an HttpOnly cookie with SameSite=Lax; Content-Type and same-origin checks
  • Boards, columns and cards, with cards moving between columns
  • Each user's data is isolated
  • REST API with tests, multi-stage Docker build

03 · How to run

Run it locally

git clone <repository on request> kanban-tasks
cd kanban-tasks
go run .   # http://localhost:8081

04 · Code

The repository is private

The source lives in a private repository. I will grant access on request: write to me and I will send an invitation.

Request the code