No description
Find a file
2026-04-23 15:39:21 +02:00
app hotfix všeho 2026-04-23 15:39:21 +02:00
src clankers wankers 2026-04-23 12:25:36 +02:00
tests Initial commit 2026-04-07 16:07:07 +02:00
.gitignore Initial commit 2026-04-07 16:07:07 +02:00
app_config.json Food inspection queue page 2026-04-23 12:20:16 +02:00
app_config.py Food inspection queue page 2026-04-23 12:20:16 +02:00
chi-captcha.txt Added captcha and vet check 2026-04-16 21:12:26 +02:00
fn.md Fix label print 2026-04-23 15:20:36 +02:00
id_tag.py Font path 2026-04-23 14:52:24 +02:00
kure.jpg Materials, id tags 2026-04-23 13:27:56 +02:00
kure.md Materials, id tags 2026-04-23 13:27:56 +02:00
kure.pdf Materials, id tags 2026-04-23 13:27:56 +02:00
kure.png Materials, id tags 2026-04-23 13:27:56 +02:00
lehke-kure.png Materials, id tags 2026-04-23 13:27:56 +02:00
licence.png hotfix všeho 2026-04-23 15:39:21 +02:00
licence.py hotfix všeho 2026-04-23 15:39:21 +02:00
lore.md Small updates 2026-04-23 11:31:33 +02:00
lore.pdf Small updates 2026-04-23 11:31:33 +02:00
luky.png Promotions 2026-04-23 15:16:18 +02:00
markdown-list.png Fix label print 2026-04-23 15:20:36 +02:00
meat_tag.py Font path 2026-04-23 14:52:24 +02:00
names.txt Validation of names and surnames 2026-04-15 23:46:18 +02:00
NerdFontMono-Regular.ttf Font 2026-04-23 11:31:33 +02:00
pes.png Materials, id tags 2026-04-23 13:27:56 +02:00
pr.md Fix label print 2026-04-23 15:20:36 +02:00
print_label.py Tiskárnové systémy 2026-04-23 01:10:22 +02:00
print_markdown_list.py Fix label print 2026-04-23 15:20:36 +02:00
pull-horizontal.png Tiskárnové systémy 2026-04-23 01:10:22 +02:00
pull-QR.png Materials, id tags 2026-04-23 13:27:56 +02:00
qr_code.py Materials, id tags 2026-04-23 13:27:56 +02:00
README.md Initial commit 2026-04-07 16:07:07 +02:00
receipt.py Font path 2026-04-23 14:52:24 +02:00
requirements.txt bober 2026-04-23 14:31:23 +02:00
run.py bober 2026-04-23 14:31:23 +02:00
ryba.jpg Materials, id tags 2026-04-23 13:27:56 +02:00
sek.md Fix label print 2026-04-23 15:20:36 +02:00
surnames.txt Validation of names and surnames 2026-04-15 23:46:18 +02:00
tezke-kure.png Materials, id tags 2026-04-23 13:27:56 +02:00
ticket_queue.py Font path 2026-04-23 14:52:24 +02:00

Corporate Adventure (Flask)

Web app for an IRL “adventure” game with a simple “corporate system” theme:

  • Participants register only if their name is on an imported roster (CSV/YAML)
  • Login system (name + password)
  • Participant dashboard shows their position and corporate credit
  • Organizers (flagged in the roster) can adjust credits and a company-wide evaluation score

Setup

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run

export SECRET_KEY='change-me'
python3 run.py

Then open http://127.0.0.1:5000.

Default admin (first run only)

On first run only when there are no users yet, the app will auto-create:

  • username: admin
  • password: hroch112

You can override these before first run:

export DEFAULT_ADMIN_USERNAME='admin'
export DEFAULT_ADMIN_PASSWORD='hroch112'

Database

By default the app uses SQLite at instance/app.db and creates tables on startup.

You can override:

export DATABASE_URL='sqlite:////absolute/path/to/app.db'

Roster import format

CSV headers:

  • name (required)
  • role (participant or organizer, default participant)
  • position (optional)
  • initial_credit (optional integer)

YAML: list of objects with the same keys.

Smoke test checklist

  1. Start the app (python3 run.py) and open http://127.0.0.1:5000.\n
  2. Create an organizer in the roster:\n
    • Go to /register (it should fail until a roster is imported).\n
    • Temporarily import a roster as an organizer by preloading a roster entry directly in SQLite, or (recommended) first add a roster import file and use an organizer account.\n
    • Easiest path for a first run: create instance/app.db and insert a roster entry for yourself, then register and set your role to organizer, then use the UI.\n
  3. In Admin → Import roster, upload a file like:\n
    • CSV:\n
      name,role,position,initial_credit\n
      Alice Example,organizer,HR Lead,10\n
      Bob Example,participant,Engineer,0\n
      ```\n
      
  4. Register users:\n
    • /register with a roster name should succeed.\n
    • /register with a non-roster name should be rejected.\n
  5. Organizer actions:\n
    • /admin/adjust-credit changes credit and adds a ledger entry.\n
    • /admin/company changes evaluation and adds a ledger entry.\n
  6. Participant dashboard:\n
    • /dashboard shows credit + company evaluation.