From 6d9e90631a6dbf323ebef8151b0d271726d29405 Mon Sep 17 00:00:00 2001 From: Simon Pirkelmann Date: Fri, 4 Feb 2022 23:08:52 +0100 Subject: [PATCH] worked on docs --- README.md | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9650807..826509c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,77 @@ Flask-based web interface for user token adminstration of our hackerspace's door lock. +## Installation +Clone the repo +```shell +git clone +``` +Install using pip +```shell +pip install . +``` -# Development +## Running the app +```shell +export FLASK_APP=imaginaerraum_door_admin +flask run +``` + +## Configuration +You can set custom configuration options by defining an environment variable +``APPLICATION_SETTINGS`` pointing to a file with configuration options. + +For example, consider the following configuration file ``app_config.py``: +``` +# door app configuration +SECRET_KEY = 'mysupersecretkey' +SECURITY_PASSWORD_SALT = 'saltycaramel' + +TESTING = False +DEBUG = False + +TOKEN_FILE = 'door_tokens.txt' +ADMIN_FILE = 'admins.txt' + +NFC_SOCKET = "/tmp/nfc.sock" +NFC_LOG = "nfc.log" +``` +To instruct the flask app to use this configuration, use the following commands: +```shell +export APPLICATION_SETTINGS=app_config.py +flask run +``` + +Below, you can find a list of configuration options. + +### Flask app configuration +You can override common Flask configuration variables. In particular, you +definitely should set custom values for the ``SECRET_KEY`` and +``SECURITY_PASSWORD_SALT``. + +### Token file +The token file is an ASCII file which list the IDs of RFID tokens that can be +used to unlock the door. You can specify the path to the token file using the +``TOKEN_FILE`` variable in the configuration file. +Here's an example of a token file (lines starting with ``#`` represent inactive +tokens): +``` +# token | name | organization | email | valid_thru +#042979fa186280|||| +04487cfa176280|Frodo|Hobbits|frodo@shire.me| +043a85fa1a6280|Gandalf|Wizards|gandalf@middleearth.me| +#04206e2aef6880|Boromir|Humans|boromir@gondor.me| +``` + +### Admin file +``ADMIN_FILE`` -> file to create new super admins + +### User database + +### NFC files +``NFC_SOCKET = "/tmp/nfc.sock"`` -> unix socket to interact with the door +``NFC_LOG = "nfc.log"`` -> log file of door events + +## Development ```shell cd tests export APPLICATION_SETTINGS=/home/simon/imaginaerraum/door-lock/webinterface/tests/debug_app_config.py