Files
taskview-community/README.md
T
2026-01-04 16:54:08 +01:00

145 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TaskView™
![TaskView Logo](./assets/taskview-logo.png)
TaskView is a self-hosted project and task management platform focused on clarity, ownership, and control.
TaskView is built for teams that want a transparent, self-hosted alternative to SaaS task managers.
It is designed for teams and individuals who want:
- full control over their data
- transparent architecture
- predictable workflows
- the ability to run the system on their own infrastructure
## Key Features
- Projects, lists, tasks, and subtasks
- Kanban boards
- Clear responsibility assignment
- Permissions and roles
- Web and mobile clients
- Self-hosted by design
## Licensing
TaskView uses a source-available license.
You may:
- self-host TaskView
- modify the source code
- use it internally within your organization
You may not:
- offer TaskView as a hosted SaaS
- sell TaskView as a service
- create a competing commercial product
- use the TaskView name or branding for derivative products
See LICENSE for full terms.
TaskView is a trademark of its authors.
## Architecture
This repository is a monorepo.
Main product packages:
- `api` backend (Node.js)
- `web` web client and mobile
- `taskview-packages/taskview-api` API client library for building integrations and making HTTP requests
- `taskview-packages/taskview-db-schemas` - Drizzle ORM schemas
Product packages share a single version.
## Versioning
TaskView follows semantic versioning:
- `MAJOR` breaking API or data changes
- `MINOR` new features
- `PATCH` bug fixes
The version represents the entire product, not individual packages.
## Status
TaskView is under active development.
Breaking changes may occur between versions.
## Getting started
This setup is intended for local development.
### Development
**Prerequisites:**
- Docker
- PostgreSQL
- On macOS you can use https://postgresapp.com/
- Bun (used for API development)
- pnpm
**Steps:**
1. Install dependencies:
```sh
pnpm install
```
2. Create an `.env` file in the **api** directory based on `.env.example` and configure your local credentials.
3. Run the web application:
```sh
cd web
pnpm dev
```
1. Run the API locally (API uses Bun in development mode):
```sh
cd api
pnpm start
```
## Building Docker Images
You can build Docker images using the provided bash script. The image version is automatically taken from the root `package.json`.
**Steps:**
1. Build images:
```sh
./build-dockers.sh
```
2. Verify built images:
```sh
docker images
```
You should see the following images:
`gimanhead/taskview-ce-api-server`
`gimanhead/taskview-ce-webapp`
`gimanhead/taskview-ce-db-migration`
3. Test images locally using Docker Compose:
```sh
cd api/dev-containers-test
docker-compose up
```
Make sure the image versions match the version defined in the root package.json.
## Roadmap
- Plugin / extension system
- Migrate to NuxtUI or similar ui library
- Enterprise SSO and identity integrations
- Redesign
- Desktop version
Note for contributors: contributions are accepted under the CLA (see CONTRIBUTING.md). The Project is distributed under the TaskView Source-Available License.
---
TaskView is developed and maintained by Nikolai Giman.
Copyright © 2026 Nikolai Giman