hello team
TaskBoard prototype: a single-page task planner with gantt timeline, balance-scale dashboard, voice capture, and transcript extraction. SQLite-backed persistence when served via server.py.
AI-perc:47%
pip install -r requirements.txt
python server.pyData is stored in data/taskboard.db (created on first run).
npx --yes serve .Edits will not survive refresh without the Python server.
Install dependencies and run tests:
npm install
npm testWatch mode:
npm run test:watch| Method | Path | Description |
|---|---|---|
| GET | /api/board |
Load people, tasks, and config |
| PUT | /api/board |
Save full board state |
| GET | /api/health |
Health check |
| Path | Purpose |
|---|---|
index.html |
UI markup and styles |
src/app/main.js |
Application logic (DOM, rendering, interactions) |
src/data/constants.js |
Team roster, clients, sizes, colors |
src/data/sample-tasks.js |
Demo tasks for static-only fallback |
src/lib/board-sync.js |
Server load/save (first render after load) |
server.py |
Flask app + SQLite API |
tests/ |
Vitest unit tests |
- Pull/copy this repo to the server
pip install -r requirements.txt- Run
python server.py --host 0.0.0.0 --port 8090 - Ensure
data/is writable and backed up - Use a process manager (systemd) so the server survives reboots
Optional: set OPENAI_API_KEY in the environment when you add /extract later.
- Run
npm run ciand confirm all checks pass. - Smoke-check the UI in a browser (filter, gantt, task detail sheet).
- Update
CHANGELOG.mdif you change behavior.
| Workflow | Trigger | What it does |
|---|---|---|
| CI | PR + push to main |
npm test, syntax check, entrypoint verification |
| PR Preview | Pull requests | Tests, deploys preview to Pages, comments URL on the PR |
| CD | Push to main |
Tests, deploys production site to gh-pages |
- Settings → Pages → Build and deployment → Source:
Deploy from a branch - Branch:
gh-pages// (root) - Settings → Actions → General → Workflow permissions:
Read and write permissions
After checks pass, a bot comment on the PR includes a link like:
https://summon-rnd.github.io/task-manager/pr-preview/pr-<number>/
https://summon-rnd.github.io/task-manager/
Note: GitHub Pages serves static files only. Persistence requires the Python server on your remote host.
gh pr checkout <PR_NUMBER>
npm install
python server.py