A sprinkle of "documentation".

<.<
>.>

Yeah, I need to work on that.
This commit is contained in:
Gregor Reitzenstein 2021-02-23 11:41:37 +01:00
parent 7db9c708e2
commit 886d795d15
4 changed files with 93 additions and 4 deletions

View File

@ -1,3 +1,28 @@
# Contributing # Contributing
Thank you for your interest in the FabAccess system. Thank you for your interest in helping out the FabAccess system!
To help develop Diflouroborane you will need a Rust toolchain. I heavily recommend installing
[rustup](https://rustup.rs) even if your distribution provides a recent enough rustc, simply because
it allows to easily switch compilers between several versions of both stable and nightly. It also
allows you to download the respective stdlib crate, giving you the option of an offline reference.
## Git Workflow / Branching
We use a stable master / moving development workflow. This means that all /new/ development should
happen on the `development` branch which is regularly merged into `master` as releases. The
exception of course are bug- and hotfixes that can target whichever branch.
If you want to add a new feature please work off the development branch. We suggest you create
yourself a feature branch, e.g. using `git switch development; git checkout -b
feature/my-cool-feature`.
Using a feature branch keeps your local `development` branch clean, making it easier to later rebase
your feature branch onto it before you open a pull/merge request.
When you want feedback on your current progress or are ready to have it merged upstream open a merge
request. Don't worry we don't bite! ^^
## Tests
Sadly, still very much `// TODO:`. We're working on it! :/

View File

@ -1,12 +1,14 @@
[package] [package]
name = "diflouroborane" name = "diflouroborane"
version = "0.1.0" version = "0.1.0"
authors = ["Gregor Reitzenstein <me@dequbed.space>"] authors = [ "Gregor Reitzenstein <me@dequbed.space>"
, "Kai Jan Kriegel <kai@kjkriegel.de>"
, "Joseph Langosch <thejoklla@gmail.com>"
, "Jannis Rieger <omniskopus@gmail.com>"
]
license = "GPL-3.0" license = "GPL-3.0"
edition = "2018" edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features] [features]
default = ["lmdb"] default = ["lmdb"]

35
INSTALL.md Normal file
View File

@ -0,0 +1,35 @@
## Installation
Currently there are no distribution packages available.
However installation is reasonably straight-forward, since Diflouroborane compiles into a single
mostly static binary with few dependencies.
At the moment only Linux is supported. If you managed to compile Diflouroborane please open an issue
outlining your steps or add a merge request expanding this part. Thanks!
### Requirements
General requirements; scroll down for distribution-specific instructions
- GNU SASL (libgsasl).
* If you want to compile Diflouroborane from source you will potentially also need development
headers
- capnproto
- rustc stable / nightly >= 1.48
* If your distribution does not provide a recent enough rustc, [rustup](https://rustup.rs/) helps
installing a local toolchain and keeping it up to date.
###### Arch Linux:
```shell
$ pacman -S gsasl rust capnproto
```
### Compiling from source
Diflouroborane uses Cargo, so compilation boils down to:
```shell
$ cargo build --release
```
The compiled binary can then be found in `./target/release/diflouroborane`

View File

@ -0,0 +1,27 @@
# FabAccess Diflouroborane
Diflouroborane (shorter: BFFH, the chemical formula for Diflouroborane) is the server part of
FabAccess.
It provides a server-side implementation of the [FabAccess API](/fabinfra/fabaccess/fabaccess-api).
## What is this?
FabAccess is a prototype-grade software suite for managing access, mostly aimed
at Makerspaces, FabLabs, and other open workshops. It is designed to allow secure access control to
machines and other equipment that is dangerous or expensive to use. It tries to also be cheap enough
to be used for all other things one would like to give exclusive access to even when they are not
dangerous or expensive to use (think 3D printers, smart lightbulbs, meeting rooms).
FabAccess uses a Client/Server architecture with a [Cap'n Proto](https://capnproto.org/) API. You
can find the API schema files over [in their own repository](/fabinfra/fabaccess/fabaccess-api).
The reference client is [Borepin](/fabinfra/fabaccess/borepin), written in C#/Xamarin to be able to
be ported to as many platforms as possible.
## Installation
See [INSTALL.md](INSTALL.md)
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md). Thanks!