-
Make sure you have a somewhat recent python version
-
[OPTIONAL] If you want to use
poetry
instead, install poetry- Add environment variable
POETRY
with the value true. Can be done by running:cp example.env .env
- Add environment variable
-
sh loaddemo.sh
Then go to
http://localhost:8000/
and login using the accounts created & shown to you during the loaddemo.sh script.
Or use URLs such as
curl -H "X-Bearer: Foo" -F tag=1-2-4 http://127.0.0.1:8000/acl/api/v1/getok4node/foonode
to check the API (this assumes local.py to contain the Foo password; see debug.py) and some machine given a node name.
Make sure pre-commit
is installed when committing. This can be done by installing using poetry (pre-commit is a dev dependency) or manually installing pre-commit with the instructions found here.
Once pre-commit
is installed, you can run pre-commit install
to install the necessary git hooks. After this you're set to commit!
There are pipelines running pre-commit is as well to check whether pre-commit was run successfully. If any issues arise in the pipeline, first try to run pre-commit locally using pre-commit run --all-files
.
-
Create member, progress status from initial to full (i.e. with 24x7 key)
-
Checkboxes for things such as 'form on file', member-in-good-standing
-
Management of groups (e.g. people that can give instruction)
-
Creation of new machines and groups
-
Overview rfid cards
-
Reports on bins & (big/overdue) storage permits.
- lists or OK/deny on tag's. based on just being a member based on having had instructions based on an actual permit
-
Initial contact / request membership (no auth)
-
password reset.
-
activate (new) card, retire old.
-
record whom you have given instruction to.
-
report accident
-
report outages activate lockout
-
location members bin visible to all
-
storage permits & durations for things that do not fit in the members bin. request visible to all
-
track ordering of spares.
- Very 'standard' approach - so ops and code evolving does not rely on a few skilled people.
- Some 10's of machines
- Low 100's of users
- User changes his/her details -> email trustees
- Someone adds instructions -> email trustees ? deelnemers ?
- Any mutations on storage space - email deelnemers Email owner separare if the change is made by someone else but the owner. Email trusteeds if > 30 days or extension on a auto-approve 30 days.
- Box changes - email trusteeds Email owner separare if the change is made by someone else but the owner.
-
Normal Django users; Members adds a field to that (form on file). May add more in the future (e.g. emergency contact).
-
Machines Machines or things that you can interact with (like doors). May require instructions May require the waiver to be on file. May require a 'permit' of a specific type.
-
Permits E.g. allowed to open doors. May require a permit to be issued (one deep)
-
Entitlements of a specific permi Assigned to a user (owner) by an issuer. issuer must have the entitlement himself. issuer must ALSO have the permit specified in the permit, i.e. the instruction permit, if so specified (one deep)