rahulpawar/taskdeck
Lanebook, a team task board (boards, lists, cards, roles, history) you run from the web or from Claude/ChatGPT over MCP. FastAPI + DataK3 + appid + Models.
A remix template · 0 remixes · Remix rahulpawar/taskdeck
schema.sql
-- Created once by the remix, in the bucket it makes. DataK3 has no sequences: every key is
-- chosen by the app (uuids; board_id:email for memberships; per-board card numbers).
CREATE TABLE IF NOT EXISTS boards (
id TEXT PRIMARY KEY,
title TEXT NOT NULL,
owner_email TEXT NOT NULL,
created_at TIMESTAMP
);
CREATE TABLE IF NOT EXISTS memberships (
id TEXT PRIMARY KEY, -- board_id + ':' + email
board_id TEXT NOT NULL,
email TEXT NOT NULL,
role TEXT NOT NULL -- member | viewer (the owner lives on boards.owner_email)
);
CREATE TABLE IF NOT EXISTS lists (
id TEXT PRIMARY KEY,
board_id TEXT NOT NULL,
name TEXT NOT NULL,
position DOUBLE NOT NULL -- the last list of a board is its "done" list
);
CREATE TABLE IF NOT EXISTS cards (
id TEXT PRIMARY KEY,
board_id TEXT NOT NULL,
number BIGINT NOT NULL, -- "card 12": unique per board
list_id TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
assignee TEXT,
due_date DATE,
labels TEXT, -- comma-separated
position DOUBLE, -- order inside its list
blocked_by TEXT, -- comma-separated card ids on the same board
updated_at TIMESTAMP
);
CREATE TABLE IF NOT EXISTS activity (
id TEXT PRIMARY KEY,
board_id TEXT NOT NULL,
card_id TEXT,
actor TEXT NOT NULL,
action TEXT NOT NULL, -- "card #12: due date: none -> 2026-11-04"
event_at TIMESTAMP
);