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
- Host: GitHub
- URL: https://github.com/ccextractor/ccsync
- Owner: CCExtractor
- License: mit
- Created: 2024-05-29T06:27:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-05T09:47:39.000Z (10 months ago)
- Last Synced: 2025-05-07T19:57:21.268Z (9 months ago)
- Topics: taskchampion, taskwarrior3
- Language: TypeScript
- Homepage: https://summerofcode.withgoogle.com/programs/2024/projects/JJCQFYTA
- Size: 628 KB
- Stars: 9
- Watchers: 5
- Forks: 16
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Web Interface + Sync Server for Taskwarrior 3.0 and Higher
A self-hosted solution for syncing and managing your tasks anywhere, anytime.
📘 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.
## Community
Join discussions and get support on **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)