#status #spaceapi #presence #http-api #track #auth #hackerspaces

app clubstatusd

An HTTP API which allows the folks in your hackerspace to track it's status, with privacy enabled. Features: ternary status (public, private, closed), announcements (who's coming, talks, etc), presence (who's in the space), restricted public API

2 unstable releases

0.4.1 Apr 2, 2022
0.3.2 Aug 23, 2019

#415 in Authentication

21 downloads per month

Apache-2.0

5MB
2.5K SLoC

Build status badge Maintenance status badge

Description

Implements a status API for hackerspaces. Most actions require authentication (HTTP Auth with a common password). Also supports announcements (for events or people announcing their future stay) and presence (people currently staying).

What data the daemon tracks and how the API looks is documented in the Specification.

Integrations

  • Publish status and presence changes via MQTT
  • Provide a SpaceAPI 0.13 compatible endpoint at /spaceapi if configured.

Dependencies

Build

Build dependencies: Rust and Cargo

To build, run cargo build --release

Dependency Graph

DAG of dependency crates created using cargo-deps

API examples

Create announcement

jq --null-input '{type: "announcement", method: "new", from: 1610612736, to: 1610612737, note: "2^29 * 3", user: "Hans", public: false}' \
  | curl http://localhost:8000/api/v0 -X PUT --data @- -v

Dependencies

~66–105MB
~1.5M SLoC