worked on docs
This commit is contained in:
parent
f66283c328
commit
6d9e90631a
72
README.md
72
README.md
|
@ -1,7 +1,77 @@
|
||||||
Flask-based web interface for user token adminstration of our hackerspace's door lock.
|
Flask-based web interface for user token adminstration of our hackerspace's door lock.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
Clone the repo
|
||||||
|
```shell
|
||||||
|
git clone <path_to_repo>
|
||||||
|
```
|
||||||
|
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
|
```shell
|
||||||
cd tests
|
cd tests
|
||||||
export APPLICATION_SETTINGS=/home/simon/imaginaerraum/door-lock/webinterface/tests/debug_app_config.py
|
export APPLICATION_SETTINGS=/home/simon/imaginaerraum/door-lock/webinterface/tests/debug_app_config.py
|
||||||
|
|
Loading…
Reference in New Issue
Block a user