Web application for managing talks (title, description, duration, scheduling).
Use the example docker-compose.yaml
of this repository.
You may want to add a reverse proxy for TLS-termination.
Create empty data store with teams Alpha
and Bravo
:
echo '[]' > talks.json
echo '["Alpha", "Bravo"]' > teams.json
echo '{}' > tokens.json
echo '[]' > users.json
Then build with docker compose build mopad
and start the container with docker compose up -d
.
Navigate to http://localhost:1337
to view the MOPAD.
The first step is to register yourself by clicking the "Register" link on the login page.
Once registered, you are logged in and can start to manage talks.
In MOPAD, users can have roles: Editor
and Scheduler
.
They are disjoint which means, users can have multiple roles, one of them, or none.
Normal users do not have any roles.
The Editor
role allows the user to edit talks created by other users.
Normally users can only edit their own talks.
The Scheduler
role allows the user to set the scheduling time of talks.
Only schedulers can edit these times.
You can change the roles in the users.json
file.
Each user has a "roles"
array field where the roles can be added as string e.g. "roles": ["Editor", "Scheduler"]
.
Changes made in all JSON files need to be announced to a running server instance by sending it a SIGUSR1
signal e.g. with docker compose kill -s SIGUSR1 mopad
.
You can also restart the server but this will disconnect all connected clients (but they should™ reconnect).