# go-vikunja/vikunja

**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/go-vikunja-vikunja).**

3,361 stars · 310 forks · Go · agpl-3.0

## Links

- GitHub: https://github.com/go-vikunja/vikunja
- Homepage: https://vikunja.io
- awesome-repositories: https://awesome-repositories.com/repository/go-vikunja-vikunja.md

## Topics

`api` `golang` `project-management` `self-hosted` `todo` `todoapp` `todolist` `vuejs`

## Description

Vikunja is a self-hosted task management platform designed for organizing personal and team projects. It provides a centralized system for managing tasks using multiple visualization formats, including Kanban boards, Gantt charts, and tables.

The project distinguishes itself through extensive external connectivity, offering a REST API, OpenAPI specifications, and CalDAV synchronization for external calendar integration. It supports sophisticated identity federation via LDAP, OpenID Connect, and Single Sign-On, alongside event-driven automation using webhooks.

The platform covers a broad range of productivity capabilities, including hierarchical task organization, natural language input parsing, and time tracking. Collaborative features include role-based access control for project sharing, team membership management, and task-based discussion threads. 

Deployment options include containerized environments, Kubernetes via Helm, and native Linux packages.

## Tags

### Business & Productivity Software

- [Project Task Visualizers](https://awesome-repositories.com/f/business-productivity-software/project-task-visualizers.md) — Provides multiple task visualization formats including Kanban boards, Gantt charts, and tables. ([source](https://vikunja.io/features/))
- [Self-Hosted Task Management Systems](https://awesome-repositories.com/f/business-productivity-software/self-hosted-task-management-systems.md) — Provides a privately hosted application for organizing tasks, projects, and workflows via Kanban boards and Gantt charts.
- [Project Collaboration Tools](https://awesome-repositories.com/f/business-productivity-software/project-collaboration-tools.md) — Implements role-based access control to grant project access to users or teams. ([source](https://vikunja.io/features/))
- [Hierarchical Task Nesting](https://awesome-repositories.com/f/business-productivity-software/project-task-management/hierarchical-task-nesting.md) — Supports organizing tasks into projects and nested subprojects for hierarchical decomposition. ([source](https://vikunja.io/features/))
- [Programmatic Access Clients](https://awesome-repositories.com/f/business-productivity-software/project-task-management/programmatic-access-clients.md) — Provides a programmatic interface for creating and modifying tasks from external applications. ([source](https://vikunja.io/docs))
- [Team Collaboration Tools](https://awesome-repositories.com/f/business-productivity-software/team-collaboration-tools.md) — Enables multiple users to collaborate within shared projects using granular permissions and discussion threads.
- [Team Member Management](https://awesome-repositories.com/f/business-productivity-software/team-member-management.md) — Provides tools for managing team memberships, roles, and administrative permissions. ([source](https://vikunja.io/docs/permissions))
- [Command Line Task Lists](https://awesome-repositories.com/f/business-productivity-software/command-line-task-lists.md) — Provides a command-line interface for executing task management operations without a graphical UI. ([source](https://vikunja.io/docs))
- [Cross-Device Task Synchronization](https://awesome-repositories.com/f/business-productivity-software/cross-device-task-synchronization.md) — Automates the synchronization of task data and schedules across multiple devices using the CalDAV protocol.
- [External Project Importers](https://awesome-repositories.com/f/business-productivity-software/external-project-importers.md) — Provides tools for migrating structured task and project data from third-party productivity platforms. ([source](https://vikunja.io/docs/migrations))
- [Natural Language Task Input](https://awesome-repositories.com/f/business-productivity-software/natural-language-task-input.md) — Extracts due dates, labels, and assignees from plain text strings during task creation. ([source](https://vikunja.io/features/))
- [Programmatic Task Automation](https://awesome-repositories.com/f/business-productivity-software/programmatic-task-automation.md) — Enables managing and modifying task data from external applications using a REST API and event-driven webhooks.
- [Task Relationships](https://awesome-repositories.com/f/business-productivity-software/project-task-management/task-relationships.md) — Defines logical dependencies between tasks, such as blocking or parent-child relationships. ([source](https://vikunja.io/features/))
- [Task Labels](https://awesome-repositories.com/f/business-productivity-software/task-labels.md) — Uses colorful labels and priority levels to categorize and rank tasks. ([source](https://vikunja.io/features/))
- [Saved Task Filters](https://awesome-repositories.com/f/business-productivity-software/task-metadata-customization/saved-task-filters.md) — Allows users to define and save custom filter criteria to quickly isolate specific subsets of tasks. ([source](https://vikunja.io/features/))

### Data & Databases

- [SQLite or PostgreSQL Storage](https://awesome-repositories.com/f/data-databases/sqlite-drivers/sqlite-storage-adapters/sqlite-or-postgresql-storage.md) — Supports multiple interchangeable database backends including PostgreSQL, MySQL, and SQLite for task persistence.
- [Hybrid Local-S3 Storage](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/file-based-storage/local-file-storage/s3-compatible-cloud-storage/hybrid-local-s3-storage.md) — Supports saving attachments and media to either the local filesystem or an S3-compatible object store. ([source](https://vikunja.io/docs/config-options))
- [Database Backup and Restoration](https://awesome-repositories.com/f/data-databases/database-backup-and-restoration.md) — Provides capabilities to export system data to files and restore it to recover state or migrate environments. ([source](https://vikunja.io/docs/project-structure))
- [File Storage Management](https://awesome-repositories.com/f/data-databases/file-storage-management.md) — Manages the lifecycle of stored files across both a database and the filesystem. ([source](https://vikunja.io/docs/project-structure))
- [Pluggable Database Backends](https://awesome-repositories.com/f/data-databases/persistent-storage-backends/pluggable-database-backends.md) — Supports multiple relational database engines, including MySQL, PostgreSQL, and SQLite, as interchangeable backends. ([source](https://vikunja.io/docs/config-options))

### Development Tools & Productivity

- [REST APIs](https://awesome-repositories.com/f/development-tools-productivity/rest-apis.md) — Exposes a REST API that allows external applications to manage tasks and lists. ([source](https://vikunja.io/docs/))
- [Task Assignments](https://awesome-repositories.com/f/development-tools-productivity/team-management/default-team-assignments/task-assignments.md) — Delegates tasks to specific users to track ownership and accountability. ([source](https://vikunja.io/features/))
- [Plugin API Extensions](https://awesome-repositories.com/f/development-tools-productivity/extension-apis/plugin-api-extensions.md) — Extends core application behavior by adding API endpoints and database migrations via plugins. ([source](https://vikunja.io/docs/plugins))
- [Task Deadline Reminders](https://awesome-repositories.com/f/development-tools-productivity/task-scheduling/task-deadline-reminders.md) — Ships a notification system for task deadline reminders and supports recurring task intervals. ([source](https://vikunja.io/features/))

### DevOps & Infrastructure

- [Task Management APIs](https://awesome-repositories.com/f/devops-infrastructure/rest-api-endpoint-management/task-management-apis.md) — Provides a programmatic REST interface and OpenAPI specifications for managing tasks and projects.
- [Containerized Application Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-application-deployments.md) — Provides a containerized environment for running the application with configurable database and CORS settings. ([source](https://vikunja.io/docs/installing/))
- [Helm Chart Deployment](https://awesome-repositories.com/f/devops-infrastructure/helm-chart-management/helm-chart-deployment.md) — Automates the installation and management of the application across a Kubernetes cluster using Helm charts. ([source](https://vikunja.io/docs/hosting-vikunja-with-k8s))
- [Reverse Proxies](https://awesome-repositories.com/f/devops-infrastructure/reverse-proxies.md) — Routes traffic through a reverse proxy to manage SSL termination and request limits. ([source](https://vikunja.io/docs/reverse-proxy))
- [Webhook Triggers](https://awesome-repositories.com/f/devops-infrastructure/webhook-triggers.md) — Triggers third-party workflows by sending JSON payloads to external URLs on specific events. ([source](https://vikunja.io/docs/webhooks))

### Security & Cryptography

- [Project Access Controls](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/access-control-models/permission-based-security/access-control-policies/project-access-controls.md) — Controls project access by mapping users and teams to granular permission levels for collaboration.
- [API Request Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/api-machine-authentication/api-request-authentication.md) — Validates API request identity using tokens and signatures in request headers to protect sensitive endpoints. ([source](https://vikunja.io/docs/api-documentation))
- [Identity Provider Integrations](https://awesome-repositories.com/f/security-cryptography/identity-provider-integrations.md) — Synchronizes user identities and group memberships from external authentication services like LDAP and OpenID Connect.
- [LDAP Authentication](https://awesome-repositories.com/f/security-cryptography/ldap-authentication.md) — Integrates with directory services to authorize users through standard LDAP bind authentication. ([source](https://vikunja.io/docs/ldap))
- [Multi-Factor Authentication](https://awesome-repositories.com/f/security-cryptography/multi-factor-authentication.md) — Adds an extra security layer during login using time-based one-time passwords (TOTP). ([source](https://vikunja.io/docs/config-options))
- [PKCE Authorization Flows](https://awesome-repositories.com/f/security-cryptography/oauth-2-0-authorization-flows/pkce-authorization-flows.md) — Implements OAuth 2.0 authorization code flows with PKCE to provide access tokens to third-party applications. ([source](https://vikunja.io/docs/oauth-server))
- [OpenID Connect Support](https://awesome-repositories.com/f/security-cryptography/openid-connect-support.md) — Verifies user identities through external providers using the standardized OpenID Connect protocol. ([source](https://vikunja.io/docs/openid-example-configurations))

### Part of an Awesome List

- [Task-Linked Time Trackers](https://awesome-repositories.com/f/awesome-lists/productivity/time-tracking-and-focus/task-linked-time-trackers.md) — Records time entries for individual tasks and generates productivity reports. ([source](https://vikunja.io/docs/pro))

### Networking & Communication

- [Group Membership Syncs](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-paradigms/group-membership-management/group-membership-syncs.md) — Automatically synchronizes team memberships based on an external LDAP directory. ([source](https://vikunja.io/docs/ldap))
- [Discussion Threading](https://awesome-repositories.com/f/networking-communication/discussion-threading.md) — Provides hierarchical discussion threads for collaborating on specific tasks. ([source](https://vikunja.io/docs/config-options))
- [CalDAV and CardDAV Protocol Servers](https://awesome-repositories.com/f/networking-communication/multi-protocol-clients/feature-serving-protocols/caldav-and-carddav-protocol-servers.md) — Implements the CalDAV protocol to synchronize tasks and schedules with external calendar applications. ([source](https://vikunja.io/docs/config-options))
- [Webhook Integration Services](https://awesome-repositories.com/f/networking-communication/webhook-integration-services.md) — Sends automated HTTP requests to external services when specific system events occur. ([source](https://vikunja.io/docs/config-options))

### Software Engineering & Architecture

- [Identity Federation](https://awesome-repositories.com/f/software-engineering-architecture/identity-federation.md) — Integrates external OIDC and LDAP providers to synchronize user profiles and team memberships across systems.
- [Public Sharing](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-management/project-management-tooling/task-list-generators/public-sharing.md) — Generates public read-only links that allow external users to view specific projects. ([source](https://vikunja.io/docs/config-options))

### User Interface & Experience

- [Task Attachments](https://awesome-repositories.com/f/user-interface-experience/comment-interfaces/file-attachments/task-attachments.md) — Allows users to upload and store documents directly on tasks to centralize related resources. ([source](https://vikunja.io/docs/config-options))

### Web Development

- [API Routing Extensions](https://awesome-repositories.com/f/web-development/api-routing-extensions.md) — Allows extending the API with new web routes and custom logic via plugins. ([source](https://vikunja.io/docs/plugin-development))
- [Third-Party API Integrations](https://awesome-repositories.com/f/web-development/third-party-api-integrations.md) — Connects with external productivity platforms to import and synchronize task data. ([source](https://vikunja.io/docs/))
