# kanbn/kan

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kanbn-kan).**

4,403 stars · 270 forks · TypeScript · agpl-3.0

## Links

- GitHub: https://github.com/kanbn/kan
- Homepage: https://kan.bn
- awesome-repositories: https://awesome-repositories.com/repository/kanbn-kan.md

## Topics

`better-auth` `drizzle-orm` `nextjs` `open-source` `tailwindcss` `trpc` `turborepo` `typescript` `zod`

## Description

Kan is a self-hosted kanban project management tool that organizes work into boards, lists, and cards. It provides a REST API for managing all project resources, including boards, cards, labels, checklists, comments, and attachments, with standard HTTP responses for every request.

The application supports granular permission and role management at both the workspace and board level, allowing administrators to control access to resources and actions. It includes webhook support for receiving card event notifications, and offers integration capabilities for importing projects from Trello and GitHub. File attachments are handled through S3-compatible storage, with support for presigned upload URLs and private file access.

Kan provides workspace management features including invitation links, member role assignment, and the ability to create and organize multiple boards within a workspace. The system includes search functionality for boards and cards by title, card activity history tracking, and application health monitoring. Users can configure email notifications through SMTP settings and toggle public user registration.

The project can be deployed on private infrastructure using Docker Compose with PostgreSQL and S3-compatible storage, or used through a hosted cloud solution.

## Tags

### Business & Productivity Software

- [Kanban Boards](https://awesome-repositories.com/f/business-productivity-software/kanban-boards.md) — Deploys a self-hosted kanban project management board on private infrastructure. ([source](https://docs.kan.bn/))
- [Card Checklists](https://awesome-repositories.com/f/business-productivity-software/task-management-applications/card-checklists.md) — Provides a REST API to delete checklists from task cards within project boards. ([source](https://docs.kan.bn/api-reference/cards/delete-a-checklist.md))
- [Card Update APIs](https://awesome-repositories.com/f/business-productivity-software/task-management-applications/card-checklists/card-labeling/card-update-apis.md) — Provides a REST API to update card title, description, position, list assignment, and due date. ([source](https://docs.kan.bn/api-reference/cards/update-a-card.md))
- [Card Deletion APIs](https://awesome-repositories.com/f/business-productivity-software/task-management-applications/card-checklists/task-card-management/card-deletion-apis.md) — Provides a REST API to remove cards from boards by public identifier. ([source](https://docs.kan.bn/api-reference/cards/delete-a-card.md))
- [Team Member Invitations](https://awesome-repositories.com/f/business-productivity-software/team-member-management/team-member-invitations.md) — Sends email invitations to join a workspace, creating pending membership records. ([source](https://docs.kan.bn/api-reference/workspaces/invite-a-member-to-a-workspace.md))
- [Card Commenting](https://awesome-repositories.com/f/business-productivity-software/card-commenting.md) — Allows editing the text of existing comments on cards via a PUT request. ([source](https://docs.kan.bn/api-reference/cards/update-a-comment.md))
- [Comment Removals](https://awesome-repositories.com/f/business-productivity-software/card-commenting/comment-removals.md) — Deletes comments from cards by providing the card and comment public IDs. ([source](https://docs.kan.bn/api-reference/cards/delete-a-comment.md))
- [Card Labeling](https://awesome-repositories.com/f/business-productivity-software/task-management-applications/card-checklists/card-labeling.md) — Creates labels with name, colour, and board association for categorizing cards. ([source](https://docs.kan.bn/api-reference/labels/create-a-label.md))
- [Member Permission Modifiers](https://awesome-repositories.com/f/business-productivity-software/team-member-management/member-permission-modifiers.md) — Assigns workspace or board-level permissions to members to control their access to resources. ([source](https://docs.kan.bn/api-reference/permissions/grant-permission-to-member.md))

### Development Tools & Productivity

- [Project Management Boards](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards.md) — Creates new kanban boards within a workspace to organize project tasks and workflows. ([source](https://docs.kan.bn/api-reference/boards/create-board.md))
- [Board Configuration APIs](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/board-configuration-apis.md) — Provides a REST API to retrieve board structures using workspace and board slugs. ([source](https://docs.kan.bn/api-reference/boards/get-board-by-slug.md))
- [Board Retrieval APIs](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/board-configuration-apis/board-retrieval-apis.md) — Provides a REST API to fetch full board details including lists, cards, labels, and members. ([source](https://docs.kan.bn/api-reference/boards/get-board-by-public-id.md))
- [List Management APIs](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/board-configuration-apis/list-management-apis.md) — Provides a REST API to remove lists from boards by public identifier. ([source](https://docs.kan.bn/api-reference/lists/delete-a-list.md))
- [Board Configurations](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/board-templates/board-configurations.md) — Provides a REST API endpoint to update board metadata such as name, slug, and visibility. ([source](https://docs.kan.bn/api-reference/boards/update-board.md))
- [List Management](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/list-management.md) — Provides a REST API to create new lists within boards by name and board identifier. ([source](https://docs.kan.bn/api-reference/lists/create-a-list.md))
- [Workspace Creation](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces/workspace-creation.md) — Provides an API to create a new workspace with a name, optional description, and slug. ([source](https://docs.kan.bn/api-reference/workspaces/create-a-workspace.md))
- [Workspace Listings](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces/workspace-organization/workspace-listings.md) — Provides an API endpoint to list all workspaces accessible to the authenticated user. ([source](https://docs.kan.bn/api-reference/workspaces/get-all-workspaces.md))
- [GitHub Project Importers](https://awesome-repositories.com/f/development-tools-productivity/configuration-importing/migration-importers/github-project-importers.md) — Imports GitHub projects into a workspace by providing their IDs and a workspace identifier. ([source](https://docs.kan.bn/api-reference/imports/import-projects-from-github.md))
- [Trello Migrations](https://awesome-repositories.com/f/development-tools-productivity/configuration-importing/migration-importers/trello-migrations.md) — Retrieves boards from a connected Trello account for selection and import. ([source](https://docs.kan.bn/api-reference/imports/import-boards-from-trello.md))
- [Label Definitions](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/label-definitions.md) — Provides a REST API to update label names and colour codes by public identifier. ([source](https://docs.kan.bn/api-reference/labels/update-a-label.md))
- [List Renaming APIs](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/list-management/list-renaming-apis.md) — Provides a REST API to rename lists within boards to reflect updated project phases. ([source](https://docs.kan.bn/api-reference/lists/update-a-list.md))
- [List Reordering APIs](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/list-management/list-reordering-apis.md) — Provides a REST API to reorder lists within boards by updating their position index. ([source](https://docs.kan.bn/api-reference/lists/update-a-list.md))
- [Slug-Based Lookups](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces/workspace-organization/workspace-listings/slug-based-lookups.md) — Provides an API endpoint to retrieve a workspace and its boards using the workspace's URL-friendly slug. ([source](https://docs.kan.bn/api-reference/workspaces/get-a-workspace-by-slug.md))

### Part of an Awesome List

- [Project Card Data Retrieval](https://awesome-repositories.com/f/awesome-lists/devtools/card-components/data-driven-cards/project-card-data-retrieval.md) — Provides a REST API to fetch comprehensive card data including activity history. ([source](https://docs.kan.bn/api-reference/cards/get-a-card-by-public-id.md))

### Networking & Communication

- [HTTP Interaction Standards](https://awesome-repositories.com/f/networking-communication/http-interaction-standards.md) — Returns standard HTTP status codes for success, client errors, and server failures on every API request. ([source](https://docs.kan.bn/api-reference/introduction.md))
- [Workspace Invite Codes](https://awesome-repositories.com/f/networking-communication/invite-link-management/workspace-invite-codes.md) — Generates shareable invitation links for workspace access with expiration and authentication. ([source](https://docs.kan.bn/api-reference/invites/create-invite-link-for-workspace.md))
- [Webhook Configuration Removal](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/webhook-management/payment-webhooks/webhook-configuration-removal.md) — Ships a REST API endpoint to remove webhook configurations from a workspace. ([source](https://docs.kan.bn/api-reference/webhooks/delete-a-webhook.md))
- [Invitation Processing](https://awesome-repositories.com/f/networking-communication/invite-link-management/invitation-link-management/invitation-processing.md) — Implements an endpoint to accept a pending workspace invitation by submitting the invite code. ([source](https://docs.kan.bn/api-reference/invites/accept-an-invite-link.md))
- [Invite Code Lookups](https://awesome-repositories.com/f/networking-communication/invite-link-management/workspace-invite-codes/invite-code-lookups.md) — Provides an API endpoint to look up the status and expiration of a pending workspace invite by its code. ([source](https://docs.kan.bn/api-reference/invites/get-invite-information-by-code.md))
- [Webhook Notifications](https://awesome-repositories.com/f/networking-communication/webhook-notifications.md) — Creates webhooks for workspaces to receive notifications about card events. ([source](https://docs.kan.bn/api-reference/webhooks/create-a-webhook.md))
- [Webhook Endpoint Listing](https://awesome-repositories.com/f/networking-communication/webhooks/webhook-endpoint-listing.md) — Provides a REST API to list all webhook configurations associated with a workspace. ([source](https://docs.kan.bn/api-reference/webhooks/get-all-webhooks-for-a-workspace.md))

### Security & Cryptography

- [User Profile Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/user-management/user-profile-management.md) — Ships an API endpoint for updating the authenticated user's name, email, and avatar. ([source](https://docs.kan.bn/api-reference/users/update-user.md))
- [API Key Authentications](https://awesome-repositories.com/f/security-cryptography/oauth-authentication-apis/api-key-authentications.md) — Authenticates API requests using secret API keys as Bearer tokens in the Authorization header. ([source](https://docs.kan.bn/api-reference/introduction.md))
- [Workspace Role Assignments](https://awesome-repositories.com/f/security-cryptography/role-based-access-control/workspace-role-assignments.md) — Provides an API endpoint to change a workspace member's assigned permissions level. ([source](https://docs.kan.bn/api-reference/workspaces/update-member-role.md))
- [User Profile Retrieval](https://awesome-repositories.com/f/security-cryptography/user-profile-retrieval.md) — Provides an API endpoint to retrieve the currently authenticated user's profile information. ([source](https://docs.kan.bn/api-reference/users/get-user.md))
- [Presigned URL Generation](https://awesome-repositories.com/f/security-cryptography/presigned-url-generation.md) — Generates time-limited S3 presigned URLs for direct file uploads without exposing credentials. ([source](https://docs.kan.bn/api-reference/attachments/generate-presigned-url-for-attachment-upload.md))
- [Role & Permission Configurators](https://awesome-repositories.com/f/security-cryptography/role-permission-configurators.md) — Assigns permissions to roles within a workspace to control access to boards, lists, and cards. ([source](https://docs.kan.bn/api-reference/permissions/grant-permission-to-role.md))

### Content Management & Publishing

- [Attachment Removal](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/content-management-platforms/enterprise-specialized-systems/document-management-systems/pdf-annotations/file-attachments/attachment-removal.md) — Soft-deletes file attachments from cards via a REST API using their public identifier. ([source](https://docs.kan.bn/api-reference/attachments/delete-an-attachment.md))

### Data & Databases

- [Upload Verification](https://awesome-repositories.com/f/data-databases/file-upload-management/upload-verification.md) — Finalizes pending file uploads by verifying completion and persisting attachment records. ([source](https://docs.kan.bn/api-reference/attachments/confirm-attachment-upload-and-save-to-database.md))

### DevOps & Infrastructure

- [Configurations](https://awesome-repositories.com/f/devops-infrastructure/event-ingestion/webhook/configurations.md) — Provides a REST API to update an existing webhook's name, URL, secret, subscribed events, and active status. ([source](https://docs.kan.bn/api-reference/webhooks/update-a-webhook.md))
- [S3 File Uploads](https://awesome-repositories.com/f/devops-infrastructure/file-uploaders/s3-file-uploads.md) — Connects to S3-compatible storage to handle file uploads such as user avatars. ([source](https://docs.kan.bn/guides/self-hosting/introduction.md))
- [Public File Serving](https://awesome-repositories.com/f/devops-infrastructure/file-uploaders/s3-file-uploads/public-file-serving.md) — Serves user-uploaded files directly from an S3-compatible bucket using a public URL. ([source](https://docs.kan.bn/guides/self-hosting/s3.md))
- [Integration Provider Discovery](https://awesome-repositories.com/f/devops-infrastructure/provider-integrations/integration-provider-discovery.md) — Provides an API endpoint to list all available integration providers for the authenticated user. ([source](https://docs.kan.bn/api-reference/integration/get-integration-providers.md))
- [Webhook Testing Tools](https://awesome-repositories.com/f/devops-infrastructure/workflow-run-management/webhook-testing-tools.md) — Sends test payloads to webhook endpoints to verify event processing. ([source](https://docs.kan.bn/api-reference/webhooks/test-a-webhook.md))

### Software Engineering & Architecture

- [Label Retrieval APIs](https://awesome-repositories.com/f/software-engineering-architecture/public-identifier-routing/label-retrieval-apis.md) — Provides a REST API to retrieve label details by public identifier. ([source](https://docs.kan.bn/api-reference/labels/get-a-label-by-public-id.md))

### System Administration & Monitoring

- [Health Checks](https://awesome-repositories.com/f/system-administration-monitoring/health-checks.md) — Returns the current operational status of the application and its critical dependencies. ([source](https://docs.kan.bn/api-reference/health/health-check.md))

### Web Development

- [OAuth Authorization URL Retrievals](https://awesome-repositories.com/f/web-development/third-party-integrations/third-party-platform-authorizations/oauth-authorization-url-retrievals.md) — Provides an API endpoint to retrieve OAuth authorization URLs for third-party integrations. ([source](https://docs.kan.bn/api-reference/integration/get-authorization-url-for-an-integration.md))
