bustle
Copyright 2020 - Sleepless Inc. - All Rights Reserved
The Bustle™ time tracker API
Bustle is a web-based time tracking tool. Features include:
- Multiple users (no limit)
- Multiple clients per user (no limit)
- Multiple projects per client (no limit)
- To-the-minute time-tracking
- Customizable UI
- Configurable Auto-clockout
- Administration UI with reports
This module implements a Javascript, browser based interface to the Bustle™ service.
Usage
Installing with NPM is easiest:
npm install bustle
cd doc_root
ln -s ../node_modules/bustle/bustle.js
your.html
Incorporate into your HTML pages:
<script src=bustle.js></script>
<script>
bus = Bustle.create();
bus.config({
session: { ttl: 3600 },
server: { port: 12345 [, host: "yourhost.com"] },
});
bus.ui.fetch("bustle-ui-default.html");
bus.ui.embed("#container");
bus.session.login( uid, sid, okay, fail );
...
bus.clients.create( { name: "EWRS" }, okay, fail );
bus.projects.create( { name: "My Project, client_id: 123 }, okay, fail );
bus.projects.destroy( { project_id: 345 }, okay, fail );
bus.entries.create( { ts: 153324523 project_id: 345 }, okay, fail )
bus.entries.fetch( { ts_from: 153342533, ts_to: 1533534221 }, okay, fail );
bus.entries.store( entry, okay, fail );
bus.session.logout( okay );
</script>
your.js
Special licensing allows onsite deployment of the server portion of Bustle™, which allows for custom user authentication
bus = require("./bustle-server.js");
bus.alt_login = function( user, pass, okay, fail ) {
// check uid and pass against your db
};