ProjectBoard Svelte Themes

Projectboard

A personal project hub with notes and a kanban-style task board built with Svelte and FastAPI.

πŸš€ ProjectBoard

A personal project hub built with SvelteKit 5 (frontend) and FastAPI (backend).
Manage your projects, notes, and tasks in a clean kanban-style board with a modern dark UI.


✨ Features

  • πŸ“‚ Project list with title, description & status badge (active, paused, done)
  • πŸ“‘ Project detail pages with notes, GitHub & website links
  • πŸ—‚οΈ Kanban per project (Open, In Progress, Done)
  • πŸŒ™ Dark, modern UI
  • πŸ”— Decoupled frontend & backend

πŸ“‚ Project Structure

ProjectBoard/
β”œβ”€β”€ backend/                  
β”‚   β”œβ”€β”€ main.py               # API endpoints + example data
β”‚   └── (poetry files)        # pyproject.toml, poetry.lock
β”œβ”€β”€ frontend/                 
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   └── routes/
β”‚   β”‚       β”œβ”€β”€ +page.svelte              # Landing page (all projects)
β”‚   β”‚       └── project/[id]/+page.svelte # Project detail page
β”‚   └── package.json
└── README.md

βš™οΈ Backend (FastAPI)

Install: cd backend poetry install

Run: poetry run uvicorn app.main:app --reload --port 8000

CORS is enabled for:

Endpoints:

  • GET /getProjects β†’ list all projects
  • GET /getProject/{id} β†’ get a single project by ID
  • POST /addProject β†’ placeholder for future create

Example project object (JSON): { "id": "1", "title": "ProjectBoard", "short_description": "Personal project hub", "description": "Hub with notes and a kanban board.", "status": "active", "github": "https://github.com/HugoOuwerkerk/ProjectBoard", "website": "http://localhost:5173/", "notes": ["Add Markdown support"], "open": [{ "title": "Fix filter dropdown", "desc": "Bug in Chrome", "labels": ["bug"] }], "in_progress": [], "done": [] }


🎨 Frontend (SvelteKit 5)

Install: cd frontend npm install

Run: npm run dev

Local dev URL:
πŸ‘‰ http://127.0.0.1:5173


πŸ› οΈ Development Notes

  • Frontend fetches the backend directly (no .env needed in dev)
  • CORS is preconfigured in the backend for the Svelte dev server
  • Tasks support title, description, and labels

πŸ—ΊοΈ Roadmap

  • Create new projects from the UI (wire POST /addProject)
  • Inline edit tasks on the kanban board
  • Persist data in a database (SQLite/Postgres) instead of an in-memory list
  • Authentication / multi-user support

Top categories

Loading Svelte Themes