Update docs

* improve linking
* parallel construction for storage and servers
* clarify rationale for Task/TaskMut
This commit is contained in:
Dustin J. Mitchell
2021-09-26 13:59:04 -04:00
parent 7881b2993c
commit 255cf29d4f
5 changed files with 38 additions and 10 deletions

View File

@@ -3,16 +3,26 @@
This crate implements the core of TaskChampion, the [replica](crate::Replica).
Users of this crate can manipulate a task database using this API, including synchronizing that task database with others via a synchronization server.
Example uses of this crate:
* user interfaces for task management, such as mobile apps, web apps, or command-line interfaces
* integrations for task management, such as synchronization with ticket-tracking systems or
request forms.
# Replica
A TaskChampion replica is a local copy of a user's task data. As the name suggests, several
replicas of the same data can exist (such as on a user's laptop and on their phone) and can
synchronize with one another.
Replicas are accessed using the [`Replica`](crate::replica) type.
Replicas are accessed using the [`Replica`](crate::Replica) type.
# Task Storage
Replicas access the task database via a [storage object](crate::storage::Storage).
Create a storage object with [`StorageConfig`](crate::storage::StorageConfig).
The [`storage`](crate::storage) module supports pluggable storage for a replica's data.
An implementation is provided, but users of this crate can provide their own implementation as well.