An open API service indexing awesome lists of open source software.

https://github.com/ccextractor/ccsync

Built for Taskserver Project in GSoC'24 @CCExtractor
https://github.com/ccextractor/ccsync

taskchampion taskwarrior3

Last synced: about 1 month ago
JSON representation

Built for Taskserver Project in GSoC'24 @CCExtractor

Awesome Lists containing this project

README

          



CCSync Logo

Web Interface + Sync Server for Taskwarrior 3.0 and Higher


A self-hosted solution for syncing and managing your tasks anywhere, anytime.



Stars


Forks


Issues


PRs


Last Commit


License
Contributions Welcome


📘 Documentation
📝 Blogs
📄 GSoC Report
🎥 Setup Video


## Table of Contents

- [Overview](#overview)
- [Screenshots](#screenshots)
- [Features](#features)
- [Architecture](#architecture)
- [Development Setup](#development-setup)
- [Contributing](#contributing)
- [License](#license)

## Overview

**CCSync** is a web UI and API that synchronizes your [Taskwarrior](https://taskwarrior.org/) tasks across all your clients using a [`taskchampion-sync-server`](https://github.com/GothenburgBitFactory/taskchampion-sync-server).

Whether you prefer the **CLI**, **Web Frontend**, or **Flutter Mobile App**, CCSync keeps everything in sync efficiently and securely.

## Screenshots





















## Features

- **Task Management** — Create, read, update, and delete tasks seamlessly.
- **Cross-Platform Sync** — Keep all Taskwarrior 3.0+ clients in sync automatically.
- **RESTful API** — Manage and query tasks programmatically.
- **Web Frontend** — Clean and responsive UI for easy task handling.
- **Mobile Integration** — Compatible with the [Taskwarrior Flutter App](https://github.com/CCExtractor/taskwarrior-flutter).
- **Backend Commands** — Full control via Taskwarrior-compatible commands.

## Architecture

CCSync is composed of **three core modules**:

1. **Backend** — The REST API and logic layer that communicates with Taskwarrior clients.
2. **Web Frontend** — A modern web UI that stores and manages tasks in-browser.
3. **Taskchampion Sync Server** — In order to sync tasks with you Taskwarrior instances, CCSync by default uses the offical [Taskchampion sync server image](https://github.com/GothenburgBitFactory/taskchampion-sync-server) to sync tasks.

📖 Learn more in the [official documentation](https://its-me-abhishek.github.io/ccsync-docs/).

## Development Setup

Want to contribute or run CCSync locally? We've made it easy!

### Quick Start with Tmux (Recommended)

Run all services (backend, frontend, and sync server) in a single command:

```bash
./development/setup.sh
```

This will start all three services in separate tmux panes. See [development/README.md](development/README.md) for detailed setup instructions, prerequisites, and troubleshooting.

### Manual Setup

Alternatively, you can run each service separately:

- **Backend**: See [backend/README.md](backend/README.md)
- **Frontend**: See [frontend/README.md](frontend/README.md)
- **Full Stack**: Use `docker-compose up`
- **Sync Server**: Use `docker-compose up syncserver`

## Testing with Postman

1. Open **Postman**.
2. Click **Import** → Select `ccsync.postman_collection.json`.
3. Modify the body fields and start testing!

## Contributing

We welcome all type of contributions!
Check out the [Contributing Guidelines](CONTRIBUTING.md) and raise issues or PRs.


PRs Welcome

## Community

Join discussions and get support on **Zulip** 👇
[![Chat on Zulip](https://img.shields.io/badge/Chat%20on-Zulip-9146FF?style=for-the-badge&logo=zulip)](https://ccextractor.org/public/general/support/)

## License

Licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.

🔝 [Back to Top](#table-of-contents)