Commit Graph

170 Commits

Author SHA1 Message Date
Renovate Bot 210118bf9a Update dependency eslint to v10.0.3
CI / backend-test (push) Successful in 54s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 52s
CI / build-and-publish (push) Has been skipped
2026-03-06 23:02:21 +00:00
nitrix 9a78ebd9b0 Add merge-pr skill for Gitea PR + CI workflow
CI / backend-test (push) Successful in 54s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 53s
CI / build-and-publish (push) Has been skipped
Encodes the workflow for creating PRs, monitoring CI status via
Actions API (cross-referencing head SHA), and merging when green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:04:55 +01:00
nitrix 5f50ea991b Merge pull request 'Add public event detail page (007-view-event)' (#14) from 007-view-event into master
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 52s
CI / build-and-publish (push) Successful in 1m1s
Reviewed-on: #14
0.2.0
2026-03-06 22:57:04 +01:00
nitrix fd9175925e Use vue-tsc --build in frontend hook to match CI
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 52s
CI / build-and-publish (push) Has been skipped
The hook used --noEmit which is less strict than CI's --build,
causing type errors to slip through.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:54:41 +01:00
nitrix 63108f4eb5 Fix TypeScript type errors in frontend test files
- Add missing timezone field to CreateEventResponse mock
- Fix createTestRouter signature to accept optional token parameter
- Add non-null assertion for dateField element access

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:53:36 +01:00
nitrix cd71110514 Add test-results/ to gitignore
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Failing after 17s
CI / frontend-e2e (push) Successful in 52s
CI / build-and-publish (push) Has been skipped
Playwright test artifacts should not be tracked.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:34:51 +01:00
nitrix 76b48d8b61 Add EventDetailView with loading, expired, not-found, and error states
New view fetches event via openapi-fetch, formats date/time with
Intl.DateTimeFormat. Skeleton shimmer during loading (CSS-only).
Create form now sends auto-detected timezone.
Unit tests for all five view states, E2E tests with MSW mocks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:34:51 +01:00
nitrix e5d0dd5f8f Implement GET /events/{token} backend with timezone support
Domain: add timezone field to Event and CreateEventCommand.
Ports: new GetEventUseCase inbound port.
Service: implement getByEventToken, validate IANA timezone on create.
Controller: map to GetEventResponse, compute expired flag via Clock.
Persistence: timezone column in JPA entity and mapping.
Tests: integration tests use DTOs + ObjectMapper instead of inline JSON,
GET tests seed DB directly via JpaRepository for isolation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:34:51 +01:00
nitrix e77e479e2a Add GET /events/{token} endpoint and timezone field to OpenAPI spec
OpenAPI: new GetEventResponse schema, timezone on Create request/response.
Liquibase: add timezone VARCHAR(64) NOT NULL DEFAULT 'UTC' column.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:34:51 +01:00
nitrix 80d79c3596 Add design artifacts for view event feature (007)
Spec, research, data model, API contract, implementation plan, and
task breakdown for the public event detail page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:34:51 +01:00
nitrix 7efe932621 Merge pull request 'Update actions/upload-artifact action to v7' (#13) from renovate/major-github-artifact-actions into master
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 50s
CI / build-and-publish (push) Has been skipped
Reviewed-on: #13
2026-03-06 22:29:15 +01:00
nitrix a56a26b1f0 Merge pull request 'Update actions/setup-node action to v6' (#12) from renovate/actions-setup-node-6.x into master
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 22s
CI / frontend-e2e (push) Successful in 50s
CI / build-and-publish (push) Has been skipped
Reviewed-on: #12
2026-03-06 21:27:18 +01:00
nitrix 906ba99b75 Merge pull request 'Update actions/setup-java action to v5' (#11) from renovate/actions-setup-java-5.x into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #11
2026-03-06 21:25:03 +01:00
nitrix da08752642 Merge pull request 'Update actions/checkout action to v6' (#10) from renovate/actions-checkout-6.x into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #10
2026-03-06 21:22:58 +01:00
nitrix 014b3b0171 Merge pull request 'Update oxlint monorepo to ~1.51.0' (#6) from renovate/oxlint-monorepo into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #6
2026-03-06 21:20:53 +01:00
nitrix 33aff5bff5 Merge pull request 'Update dependency @vue/tsconfig to ^0.9.0' (#5) from renovate/vue-tsconfig-0.x into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #5
2026-03-06 21:18:46 +01:00
nitrix 6de0769d70 Merge pull request 'Update eclipse-temurin Docker tag' (#3) from renovate/eclipse-temurin-25.x into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #3
2026-03-06 21:16:41 +01:00
nitrix 6a16255984 Merge pull request 'Update dependency org.codehaus.mojo:build-helper-maven-plugin to v3.6.1' (#2) from renovate/org.codehaus.mojo-build-helper-maven-plugin-3.x into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #2
2026-03-06 21:14:34 +01:00
nitrix 2ce3ce0d05 Merge pull request 'Update dependency maven to v3.9.13' (#8) from renovate/maven-3.x into master
CI / backend-test (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #8
2026-03-06 21:12:25 +01:00
Renovate Bot ca651d4c05 Update actions/upload-artifact action to v7
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 50s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:53 +00:00
Renovate Bot 1e065bef18 Update actions/setup-node action to v6
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 53s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:51 +00:00
Renovate Bot 6e655597d7 Update actions/setup-java action to v5
CI / backend-test (push) Successful in 53s
CI / frontend-test (push) Successful in 20s
CI / frontend-e2e (push) Successful in 49s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:48 +00:00
Renovate Bot e10b88ee5f Update actions/checkout action to v6
CI / backend-test (push) Successful in 54s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 49s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:46 +00:00
Renovate Bot 465fc2178f Update oxlint monorepo to ~1.51.0
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 49s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:38 +00:00
Renovate Bot 9e48debca7 Update dependency @vue/tsconfig to ^0.9.0
CI / backend-test (push) Successful in 54s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 50s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:33 +00:00
Renovate Bot fc344d3ca0 Update eclipse-temurin Docker tag
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 50s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:25 +00:00
Renovate Bot e04a86399c Update dependency org.codehaus.mojo:build-helper-maven-plugin to v3.6.1
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 51s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:22 +00:00
Renovate Bot 0069747e68 Update dependency maven to v3.9.13
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 50s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:07:18 +00:00
nitrix 1e7b0cb56c Merge pull request 'Update dependency @types/node to v24.12.0' (#9) from renovate/node-24.x-lockfile into master
CI / backend-test (push) Successful in 54s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 52s
CI / build-and-publish (push) Has been cancelled
Reviewed-on: #9
2026-03-06 21:06:14 +01:00
Renovate Bot d248bcd944 Update dependency @types/node to v24.12.0
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 20s
CI / frontend-e2e (push) Successful in 54s
CI / build-and-publish (push) Has been skipped
2026-03-06 20:03:33 +00:00
nitrix 074f4ef1ee Remove process.emit warning suppression hack from Playwright config
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 21s
CI / frontend-e2e (push) Successful in 49s
CI / build-and-publish (push) Has been skipped
The Node 25 localStorage warning from MSW broke vue-tsc type-check
because the override signature was incompatible with the Signals type.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:59:35 +01:00
nitrix 1afdd0a462 Add spec-kit workflow guide
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Failing after 16s
CI / frontend-e2e (push) Successful in 51s
CI / build-and-publish (push) Has been skipped
Human-readable reference for the clarify → plan → tasks → analyze → implement
loop and the file structure it produces.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:22:39 +01:00
nitrix 6aeb4b8bca Migrate project artifacts to spec-kit format
- Move cross-cutting docs (personas, design system, implementation phases,
  Ideen.md) to .specify/memory/
- Move cross-cutting research and plans to .specify/memory/research/ and
  .specify/memory/plans/
- Extract 5 setup tasks from spec/setup-tasks.md into individual
  specs/001-005/spec.md files with spec-kit template format
- Extract 20 user stories from spec/userstories.md into individual
  specs/006-026/spec.md files with spec-kit template format
- Relocate feature-specific research and plan docs into specs/[feature]/
- Add spec-kit constitution, templates, scripts, and slash commands
- Slim down CLAUDE.md to Claude-Code-specific config, delegate principles
  to .specify/memory/constitution.md
- Update ralph.sh with stream-json output and per-iteration logging
- Delete old spec/ and docs/agents/ directories
- Gitignore Ralph iteration JSONL logs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:19:41 +01:00
nitrix 0b2b84dafc Add E2E tests to stop hook and README
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Failing after 17s
CI / frontend-e2e (push) Successful in 52s
CI / build-and-publish (push) Has been skipped
- Stop hook now triggers on frontend/e2e/ changes
- Stop hook runs Playwright E2E tests alongside unit tests
- README documents test:e2e command and Playwright in code quality section
2026-03-06 18:19:39 +01:00
nitrix 562631f151 Add frontend-e2e job to CI pipeline
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Failing after 17s
CI / frontend-e2e (push) Successful in 1m3s
CI / build-and-publish (push) Has been skipped
Runs Playwright E2E tests with Chromium after checkout.
Uploads HTML report as artifact on failure.
build-and-publish now requires all three test jobs.
2026-03-06 18:16:07 +01:00
nitrix 9cf199dd9f Add Playwright E2E tests with MSW API mocking
- Playwright + @msw/playwright + @msw/source for OpenAPI-driven mocks
- Chromium-only configuration with Vite dev server integration
- Smoke tests: home page, CTA, navigation
- US-1 tests: validation, event creation flow, localStorage, error handling
- Suppress Node 25 --localstorage-file warning from MSW cookieStore
2026-03-06 18:16:07 +01:00
nitrix b2d37d9269 Add example fields to CreateEventResponse schema
Required for @msw/source mock generation in E2E tests.
Also good OpenAPI documentation practice.
2026-03-06 18:13:50 +01:00
nitrix ffea279b54 Update CLAUDE.md with build commands and project conventions
CI / backend-test (push) Successful in 1m3s
CI / frontend-test (push) Successful in 19s
CI / build-and-publish (push) Successful in 55s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0.1.0
2026-03-05 10:58:20 +01:00
nitrix 4cfac860aa Add US-20 (404 page) to user stories
Catch-all route for unknown paths with link back to home.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:58:10 +01:00
nitrix e3ca613210 Add agent research and implementation plan docs for US-1
Research reports on datetime handling, RFC 9457, font selection.
Implementation plans for US-1 create event and post-review fixes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:57:44 +01:00
nitrix 14f11875a4 Add Vite dev proxy for backend API
Proxy /api requests to localhost:8080 during development.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:57:20 +01:00
nitrix a029e951b8 Add event stub page with clipboard sharing
Post-creation confirmation page showing shareable event URL with
copy-to-clipboard and fallback feedback on failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:57:10 +01:00
nitrix 84feeb9997 Implement event creation frontend (EventCreateView)
Form with client-side validation, server error handling, aria-invalid/
aria-describedby for a11y, localStorage persistence via useEventStorage
composable. Routes for /create and /events/:token.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:56:59 +01:00
nitrix f3d4b5fa17 Add REST controller with RFC 9457 error handling
EventController for POST /events, GlobalExceptionHandler mapping
validation and business exceptions to problem+json responses.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:56:48 +01:00
nitrix c80074093c Add persistence layer with Liquibase migration
JPA entity, repository, persistence adapter for events. Liquibase
changelog creates the events table with BIGSERIAL ID and UUID tokens.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:56:39 +01:00
nitrix 830ca55f20 Implement event domain model and application service
Add Event entity, CreateEventCommand, ports (CreateEventUseCase,
EventRepository), and EventService with Clock injection for
deterministic testing. Expiry date must be in the future.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:56:28 +01:00
nitrix eeadaf58c7 Add OpenAPI spec for POST /events endpoint
Define CreateEventRequest, CreateEventResponse, ProblemDetail, and
ValidationProblemDetail schemas. RFC 9457 problem details for errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:56:17 +01:00
nitrix 387445e089 Remove Vue scaffolding and add design system foundation
Strip default Vue components (HelloWorld, TheWelcome, icons, AboutView),
base.css, and placeholder assets. Add Sora font (self-hosted WOFF2),
Electric Dusk color palette, and design system spec.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:55:53 +01:00
nitrix c2bbb78b7b Add OpenAPI spec validation hook (Redocly CLI)
CI / backend-test (push) Successful in 50s
CI / frontend-test (push) Successful in 17s
CI / build-and-publish (push) Has been skipped
PostToolUse hook triggers on openapi/*.yaml edits and runs
redocly lint with the recommended ruleset (security-defined
disabled since endpoints are intentionally public).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 00:01:17 +01:00
nitrix 91e566efea Remove honeypot fields from US-1 and US-3
Honeypot spam protection is overengineered for this project's scope.
Removed the acceptance criteria from both stories and added addenda
documenting the decision. Updated implementation order and review
findings accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 22:24:23 +01:00