Commit Graph
79 Commits
Author SHA1 Message Date
Pascal 01d1e5fb60 test(integration): add real-stack integration test suite with PGlite
Docker Image CI / test (push) Successful in 1m47s
Tests / unit (push) Successful in 57s
Tests / integration (push) Successful in 1m38s
Docker Image CI / deploy (push) Failing after 8s
- PGlite (in-memory WASM Postgres) hosted in a child process, exposed
  via TCP socket; real migrations applied with prisma migrate deploy
- Vitest harness (vitest.integration.config.ts, global-setup spawns
  PGlite + built Nuxt server, per-test TRUNCATE, factories, cookie-jar
  API client); no mocks, zero production code changes
- 50 tests across auth, hunt, team, submit, review, showcase, diashow
  incl. SuperJSON envelope check; *.itest.ts keeps bun test untouched
- CI: parallel unit + integration jobs in .github/workflows/test.yml
- tests/ covered by nuxt typecheck via tests/tsconfig.json reference
2026-08-13 23:10:07 +02:00
Pascal 28714a8cbc feat(hunt): Add bingo board to hunts 2026-08-07 18:59:24 +02:00
Pascal 8e5e60da87 refactor(hunt): Style hunt admin 2026-08-03 01:57:35 +02:00
Pascal 2d8669708d fix(i18n): fix lang format 2026-07-31 19:31:54 +02:00
Pascal 3623701548 feat(settings): add sidebar visibility state to settings store 2026-07-31 19:31:08 +02:00
Pascal 5fe4557d94 refactor(app): simplify head link and meta rendering, add more titles and descriptions 2026-07-31 19:22:48 +02:00
Pascal 0f49f20c07 chore(deps): update Vue 2026-07-31 13:00:56 +02:00
Pascal 21e8da08a6 feat(health): add database connectivity check to health endpoint 2026-07-31 02:52:08 +02:00
Pascal 4fdea21913 style(eslint): fix conflicting formatting of self-closing tags 2026-07-31 02:27:01 +02:00
Pascal 45865d3122 feat(quest): add support for private images in answers 2026-07-31 02:14:34 +02:00
Pascal de0eaee521 feat(team): add team settings with edit, leave, and kick functionality 2026-07-31 01:48:31 +02:00
Pascal e664cf3b96 feat(landing): add landing page layout and content 2026-07-31 01:32:00 +02:00
Pascal 24632742ef feat(quest): add full CRUD and image handling for hunt quests 2026-07-31 01:03:54 +02:00
Pascal 77becc453e feat(hunt): add public flag to hunts and implement hunt creation page
- Add 'public' boolean column to Hunt model with default true
- Update hunt admin UI to toggle 'public' flag
- Implement new hunt creation page with form supporting all hunt properties
- Add sidebar navigation item for hunt creation for authorized users
- Adjust home API to filter hunts by public flag only
2026-07-30 23:33:34 +02:00
Pascal aa4632cab8 feat(admin): add user role management with promotion feature 2026-07-30 23:13:38 +02:00
Pascal 370ba3406f refactor(hunt): replace admin middleware with auth and implement membership state
- Change middleware from 'admin' to 'auth' on hunt and quest admin pages
- Add global hunt store to track current hunt ID and membership status
- Use hunt store membership state to conditionally display admin UI elements
- Handle fetch errors gracefully with alerts and back navigation buttons
- Update admin UI logic to depend on membership state instead of user role
- Add membership state update after API calls in hunt, quest, teams, and admin pages
- Refactor UI templates to show error messages when fetch fails
- Centralize membership logic for better authorization control in frontend
2026-07-30 22:33:47 +02:00
Pascal cfda014760 refactor(auth): simplify authorization checks to use membership only
- Remove explicit ADMIN role checks in API handlers
- Replace combined creator/member role checks with membership-only filters
- Update seed data roles to reflect changed authorization logic
- Add migration to insert hunt creators as members for consistent checks
- Prevent removal of hunt creator as a member with new explicit check
- Adjust related user role updates and queries accordingly
- Upgrade dependencies including nuxt and zod for compatibility
2026-07-30 21:59:36 +02:00
Pascal a6053855b8 Remove api logging for health check 2026-06-29 21:55:06 +02:00
Pascal bebe3564d6 Add api logging 2026-06-29 21:11:26 +02:00
Pascal c490344cb6 Remove unnecessary log on diashow 2026-06-29 21:02:24 +02:00
Pascal 2d90f91f2b Order picture wall quests by order 2025-10-16 21:12:41 +02:00
Pascal 7aed6cbb84 Revert update nuxt 2025-10-16 20:55:20 +02:00
Pascal baca5415c3 Fix type errors 2025-10-16 20:44:52 +02:00
Pascal c80fc61539 Add picture wall filtering and bump nuxt 2025-10-16 20:30:05 +02:00
Pascal b43e8b9219 Cleanup admin quest 2025-10-06 12:36:11 +02:00
Pascal ae1f65f262 Persist hideAnswer switch 2025-10-06 12:19:07 +02:00
Pascal cbd126c7a2 Fix showcase hidden first place 2025-10-06 12:13:33 +02:00
Pascal a0cef9565b fix 2025-10-01 00:34:08 +02:00
Pascal 146e48d42d Last minute fixes 2025-10-01 00:31:31 +02:00
Pascal 66f1f5f336 Use correct text for finalizing 2025-09-18 00:55:19 +02:00
Pascal da037597eb prettier 2025-09-15 16:10:00 +02:00
Pascal 280dfee53b Add SEO info 2025-09-15 16:08:53 +02:00
Pascal 1ff48b0ece Reduce clickable fullsize images size 2025-09-15 15:45:51 +02:00
Pascal 1c7d09bfcb Include administrated hunts in home 2025-09-15 15:45:07 +02:00
Pascal 165e3d1559 Translate static texts 2025-09-15 15:44:50 +02:00
Pascal 0c5a6963d3 Prevent submitting answer when no team 2025-09-15 15:16:37 +02:00
Pascal 33c7e2335f Add metrics 2025-09-15 00:13:57 +02:00
Pascal be5b042380 Add top margin to upload modal 2025-09-14 18:56:40 +02:00
Pascal c542916c99 Update prisma 2025-09-14 18:46:23 +02:00
Pascal 600ccb4207 Add colors to quest list 2025-09-14 18:18:18 +02:00
Pascal 527c9b7428 Reduce min name length 2025-09-14 17:57:24 +02:00
Pascal 5c66430cb4 Compress answers and show upload progress 2025-09-14 17:45:34 +02:00
Pascal b6b43618a7 Set prisma version in dockerfile 2025-09-11 23:29:52 +02:00
Pascal e167a11434 Set prisma targets 2025-09-11 23:25:43 +02:00
Pascal 308ac9838e prettier 2025-09-11 23:19:04 +02:00
Pascal 3e1bfa46d9 Add pic upload for hunt admins 2025-09-11 23:18:02 +02:00
Pascal 5d4e802796 Add line breaks to description 2025-09-11 22:51:23 +02:00
Pascal 86a66aad37 Add imprint 2025-08-30 17:56:52 +02:00
Pascal e763e3adf0 Translate invite code and start help page 2025-08-30 17:31:19 +02:00
Pascal c2c52dbe45 Fix i18n bugs 2025-08-30 16:36:39 +02:00
Pascal 7948fed103 Start i18n on static texts 2025-08-21 20:52:59 +02:00
Pascal 5d1a029a54 Add typecheck 2025-08-21 00:17:01 +02:00
Pascal 79c900955d prettier 2025-08-20 23:41:14 +02:00
Pascal 16956d12f4 Add eslint 2025-08-20 23:40:00 +02:00
Pascal cc544322b2 Switch to translatable data 2025-08-20 23:18:40 +02:00
Pascal c35fb06830 Add diashow and styling 2025-08-17 01:40:30 +02:00
Pascal 0e4015905c Add matomo tracking 2025-08-16 12:53:00 +02:00
Pascal fe00df6c2d Styling 2025-08-14 21:55:01 +02:00
Pascal e84c022bcf Add updatable profile 2025-08-14 21:31:48 +02:00
Pascal 9cb405be22 Add writing reviews for answers 2025-08-14 20:33:39 +02:00
Pascal 5146e8e490 Reuse common dateStyle 2025-08-14 20:20:54 +02:00
Pascal 24f933fbaa Use composition for translation 2025-08-14 19:56:49 +02:00
Pascal 900414727f Move review to separate model 2025-08-13 23:53:36 +02:00
Pascal befc678bdb Add team member and hunt member management for admins 2025-08-10 00:20:44 +02:00
Pascal dc3c21f885 Add end showcase 2025-08-09 19:14:21 +02:00
Pascal 4189c95d38 Start admin pages 2025-08-09 14:58:38 +02:00
Pascal eac877752f Redirect after login and register 2025-08-05 23:40:46 +02:00
Pascal dc42258010 Translate home page 2025-08-05 23:30:13 +02:00
Pascal 5b56809bac Docs 2025-08-05 22:41:00 +02:00
Pascal d6918b860f Remove debug auth 2025-08-04 20:37:25 +02:00
Pascal 9320adb6cd Add login and register 2025-08-04 20:23:19 +02:00
Pascal 8aa8be7e9f Remember uploaded images 2025-08-04 19:34:50 +02:00
Pascal 464791d9f5 Add test auth endpoint 2025-08-03 19:52:33 +02:00
Pascal 9faf2376c4 Use correct healthcheck 2025-08-03 19:25:05 +02:00
Pascal b6723c1836 Add CD 2025-08-03 19:16:33 +02:00
Pascal 36e8ef41bf Add team creation, team join and debug login screen 2025-08-03 18:58:17 +02:00
Pascal facb07de5b Add s3 endpoint as preload 2025-08-02 01:18:37 +02:00
Pascal 7d974a857c Add image upload to s3 2025-08-02 00:58:40 +02:00
Pascal 624bb7e124 Add quest page 2025-08-01 22:15:30 +02:00