Flowboard is a simple, single-board Kanban app that requires no account creation. Anyone who opens the app can create columns, add task cards, move them between columns, and organize their work — a lightweight, Trello-style tool for a single team/project at a time, with zero login friction.
Full product specification: _docs/specs.md.
- Single shared board — no multiple boards, no login, anyone with the URL can view and edit.
- Columns — create, rename, delete (with confirmation, cascades to cards), and reorder via drag and drop.
- Cards — title (required), description, labels, due date, and priority (Low / Medium / High, defaults to a set value).
- Create, edit any field, delete (with confirmation).
- Move between columns and reorder within a column via drag and drop.
- Visual indicators — overdue cards are highlighted; labels and priority are shown with distinct colors.
- Persistence — board state (columns and cards) survives reloads and is shared across browsers/tabs (no real-time sync in v1).
Authentication/users/roles, multiple boards, comments, file attachments, assigning cards to people, notifications, and real-time sync (websockets). See _docs/specs.md for the full list.
| Layer | Technology |
|---|---|
| Frontend | SPA in frontend/, with all backend calls centralized in a single module so they can be mocked early on |
| Backend | FastAPI (Python), managed with uv |
| Database | In-memory mock storage initially, later SQLAlchemy + a real database (engine-agnostic) |
| API contract | Defined in openapi.yaml — the source of truth shared between frontend and backend |
.
├── _docs/
│ └── specs.md # Product specification (source of truth for scope/behavior)
├── backend/ # FastAPI application (Python, managed with uv)
├── frontend/ # SPA client (Node.js)
├── openapi.yaml # API contract shared by backend and frontend
├── AGENTS.md # Conventions for AI coding agents working in this repo
└── README.md
backend/,frontend/, andopenapi.yamlare introduced as the project is scaffolded; seeAGENTS.mdfor current conventions.
cd backend
uv sync
uv run fastapi devcd frontend
npm install
npm run devCommands above reflect the intended setup per the tech stack in the spec; adjust once the corresponding
pyproject.toml/package.jsonscripts are in place.
- Open the app and see the board with its columns.
- Create a new column, "In Review".
- Add a card with a title, description, a "bug" label, and "High" priority.
- Drag the card from "To Do" to "In Progress".
- Reload the page and verify the card is still in "In Progress".
- Open the app in another browser and see the same board state.
See AGENTS.md for repository conventions, especially if you're an AI coding agent working in this codebase.