A local-first Kanban board built with Svelte, TypeScript, and PWA features. This application allows you to organize your tasks visually in a Kanban-style board with drag-and-drop functionality.
The board has four predefined columns:
Clone this repository:
git clone https://github.com/yourusername/svelte-kanban.git
cd svelte-kanban
Install dependencies:
npm install
Start the development server:
npm run dev
Open your browser and navigate to http://localhost:5173
To create a production version:
npm run build
You can preview the production build with:
npm run preview
This app is configured to deploy to GitHub Pages using GitHub Actions. The workflow is set up to:
To set this up for your own repository:
When deploying under a repository path (for example /your-repo-name), keep these settings aligned so the PWA does not leak scope or cache behavior into other apps on the same domain:
Set the SvelteKit base path in svelte.config.js:
paths: {
base: dev ? '' : '/your-repo-name';
}
Keep static/manifest.json path-safe by using relative values:
id: "./"start_url: "./"scope: "./""favicon.png" (no leading /)Register the service worker under the app base path and scope only.
Use a cache namespace that includes the app scope, and only delete old caches in that namespace during activation.
Drag and drop tasks between columns to update their status.
Click the delete (🗑️) button on a task to remove it.
MIT
Contributions are welcome! Please feel free to submit a Pull Request.