Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ArchiveLabs/TodoDAV
Distributed Authoring & Versioning of Todo Items (aka Universal Cross-Service TODO Lists)
https://github.com/ArchiveLabs/TodoDAV
Last synced: 3 months ago
JSON representation
Distributed Authoring & Versioning of Todo Items (aka Universal Cross-Service TODO Lists)
- Host: GitHub
- URL: https://github.com/ArchiveLabs/TodoDAV
- Owner: ArchiveLabs
- Created: 2015-11-26T02:09:26.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-18T05:03:01.000Z (about 9 years ago)
- Last Synced: 2024-08-01T12:34:14.703Z (6 months ago)
- Language: JavaScript
- Size: 188 KB
- Stars: 5
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - ArchiveLabs/TodoDAV - Distributed Authoring & Versioning of Todo Items (aka Universal Cross-Service TODO Lists) (others)
README
# TodoDAV
Distributed Authoring & Versioning of Todo Items (aka Universal Cross-Service TODO Lists)- [Overview](#overview)
- [Data Structures](#data-structures)
- [Identity](#identity)
- [Post](#post)
- [Task](#task)
- [Interface](#interface)
## OverviewThis work is based on the essay [Universal Todo Lists](https://michaelkarpeles.com/essays/software/universal-todo-list).
## Data Structures
### Identity
For the time being, an identity is an arbitrary entity having a `iid` (identity ID). Identities have cryptographic signatures and can span multiple `agents`
- [?] Signature (crypto)
### Post
See [IPFS Post](https://github.com/ipfs/post)
- [!] Title
- [!]`id`, a `uuid` hash (unique across `Post`s)
- [!] Sender(s) `iid`
- [!] Recipient(s) `iid`
- Date Created (UTC, epoch)
- Last Modification (default null, merkel-link)### Task
Schema with a preceding ! (bang) are required. Schema with a ? are discussion points, X denotes skepticism.
- [!] `pid` id/hash => `Post`
- [!] `tid`, a universally unique hash/id across tasks
- [!?] `iid` created by (identity)
- Parents `tid`s (default null); dependencies
- Assigned `iid` (enforce limit of entity as cardinality 1?)
- Last Modification (default null)
- Start `date` (UTC, epoch?)
- Due `date` (UTC, epoch?)
- [?]`subscribed`, a identity `pid`? an `oid`? (used for pubsub)
- [?]References (a list of `oids`, e.g. attachments -- never mind, these should reference the task maybe?)
- [?]Statuses (`sid`s), e.g. closed, review
- [X]Priority, (should just be inferred from due date, I think)### Interface
- There’s a global list of all tasks
- There’s a global list of all tasks sent or received by a party
- There’s the ability to assign a task to a
- There’s an ability to see tasks with a certain "tag"
- is a tag an identity?
- does a tag (a view) point-to/ref a task (and other things)?