https://github.com/clonejo/clubstatusd
Keeps the status of your hackerspace (open/closed, presence, upcoming events). This is the backend part available through REST.
https://github.com/clonejo/clubstatusd
hackerspace mqtt rust
Last synced: 4 months ago
JSON representation
Keeps the status of your hackerspace (open/closed, presence, upcoming events). This is the backend part available through REST.
- Host: GitHub
- URL: https://github.com/clonejo/clubstatusd
- Owner: clonejo
- License: apache-2.0
- Created: 2016-01-10T02:02:25.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-29T14:45:04.000Z (about 1 year ago)
- Last Synced: 2025-05-29T15:42:03.716Z (about 1 year ago)
- Topics: hackerspace, mqtt, rust
- Language: Rust
- Homepage: https://gitlab.aachen.ccc.de/clubstatus
- Size: 15.9 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README


# 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](api-specification.md).
## Integrations
* Publish status and presence changes via MQTT
* Provide a [SpaceAPI](https://spaceapi.io/) 0.13 compatible endpoint at
`/spaceapi` if configured.
# Dependencies
* Rust and Cargo
* GCC
* OpenSSL and SQLite3 (with headers)
on Debian: `apt-get install gcc openssl libssl-dev sqlite3-0 sqlite3-dev`, use
binary installer on https://www.rust-lang.org/downloads.html
# Build
Build dependencies: Rust and Cargo
To build, run `cargo build --release`
# API examples
## Create announcement
```sh
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
```