federatedbookkeeping / timesheets

Federated Timesheets Project. Gitter: https://gitter.im/federatedbookkeeping/timesheets
MIT License
9 stars 1 forks source link

timesheets

Federated Timesheets Project. Gitter: https://gitter.im/federatedbookkeeping/timesheets

This project has successfully created a Federated Timesheets network between three time tracking systems:

We call these three systems "the club". The rules for joining the club are:

We call the part of the network that is made up by club members "tier 2". Other systems can also be linked to the network without becoming full club members. Such systems form "tier 1". A tier 1 system may be able to send timesheets data to at least one club member, or receive timesheets data from at least one club member, or both.

Federation Components

NB: In the picture, C indicates a connector, and so marks the initiator of the connection. Where multiple systems are targeted, there is a separate connector for each.

Each human person entering timesheets data is considered to have one home system, which could be a tier 1 system or a tier 2 system. From there, this data will propagate to at least all tier 2 systems, and also to those tier 1 systems that are able to receive.

Currently, all tier 2 systems trust each other to only send data that originated from that person's home system, and not to add or change any of their timesheet entries. Milestone 6 will experiment with using digital signatures to improve this aspect.

See the apps shortlist for a list of apps that are in Tier 1.

See the data-formats/ folder for details about the various CSV, JSON, XML etc formats that are used to sync between Tier 2 and Tier 1 systems. See the API definitions wiki page for formats that are used to sync between the three Tier 2 systems. See the data-formats/ folder for details about the various CSV, JSON, XML etc formats that are used to sync between Tier 2 and Tier 1 systems. See the API definitions wiki page for formats that are used to sync between the three Tier 2 systems.

Management Summary

This project brings together developers from WikiSuite, m-ld.io, Muze and Ponder Source in a collaboration to deliberately research how federated machine-readable data can work between independent software projects on the user-operated internet. We want to showcase how our vision of Federated Bookkeeping can make internet users "connected but sovereign".

Each project's timesheet system that tracks billable hours will be extended with time tracker apps (locally or on a self-hosted server) to expose machine-readable timesheet data through a query endpoint (reader pull) or through a webhook (writer push).

Furthermore, a W3C interest group "federated timesheets" has been started that will contain and maintain a repository of time tracker schemas and extend this continuously in an orderly fashion to enable developers to import recipients' schemas as well as add their own to the repository.

Milestones List

We received a 50 kEUR grant from NGI Assure, which we will be claiming in small chunks along the following milestones. The rough division of work (although this may change) is that Ponder Source will work on milestones 1 and 4, m-ld will be working on milestones 2 and 6, EvoluData will be working on milestone 3, and Muze will be working on milestone 5.

The text of 1a, 2a, 3a is thrice the same. The text of 1b, 2b, 3b is also thrice the same.

Milestone 1: Prejournal

Prejournal.org will be a headless bookkeeping connector that can take data from many types of source documents and export data to many different bookkeeping tools. It can be run as a stand-alone LAMP application, or as a Nextcloud app.

Milestone 2: m-ld

m-ld.io's time-tracking app - called 'timeld' - will use the m-ld live data software library both to persist data to the user's devices, and synchronise between them.

Milestone 3: WikiSuite

Tiki Trackers are used extensively by EvoluData and its customers to track billable hours in the WikiSuite platform.

Milestone 4: Documentation

Milestone 5: Tooling

Milestone 6: Digital Signatures