SolidBoard

solidjs kanban

SolidBoard — Kanban Management

A SolidJS Kanban board with two runtime dependencies and dense-integer card ordering.

role
solo developer
status
personal project
scale
2 runtime dependencies
stack
SolidJS · Express · MongoDB · JWT
type
personal · open source

FIG.01 // SOLIDBOARD · ORDERING

Ordering is dense integers

One endpoint moves a card. The card is saved, then each affected range shifts with a single $inc, rather than a read-modify-write of every row.

Ordering is dense integers01 · MOVE REQUESTcolumn + indexownership checked first02 · SAVE CARDorder = indexone writeRANGE SHIFTS · ONE updateMany EACH03 · OLD COLUMN$inc −1below the old slot04 · NEW COLUMN$inc +1at or after new slotdense integers vs fractional ranks: chosen for readable order valuesa cross-column move is three bounded writes; within a column, twothe price: linear in the affected range, and concurrent moves can interleave

A Jira-style Kanban board built with SolidJS on a Node.js, Express and MongoDB backend secured with JWT. The frontend's package.json lists two runtime dependencies, solid-js and @solidjs/router: no component library, no state manager, no date library, no icon set. Filtering is a derived memo rather than an effect that writes more state, and boards sit in a Solid store, so a write to one board's title notifies nothing watching another. Card positions are contiguous integers per column, so a cross-column move is three writes: the card is saved, then each affected range shifts with a single $inc. Fractional ranks would make a move one write, but dense integers keep the order column a small number you can read straight out of the database.

screens