d333ab3d39
Refactor domain models to records and move exceptions to sub-package
...
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 26s
CI / frontend-e2e (push) Successful in 1m25s
CI / build-and-publish (push) Has been skipped
- Convert Event and Rsvp from mutable POJOs to Java records
- Move all 8 exception classes to application.service.exception sub-package
- Add ArchUnit rule enforcing domain models must be records
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 20:09:27 +01:00
541017965f
Implement cancel-event feature (016)
...
Add PATCH /events/{eventToken} endpoint for organizers to cancel events,
cancellation banner for visitors, and RSVP rejection on cancelled events.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 19:52:22 +01:00
3908c89998
Add spec, plan, and tasks for 016-cancel-event feature
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 19:03:57 +01:00
bf0f4ffb7f
Merge pull request 'Rename path parameter {token} to {eventToken}' ( #37 ) from 015-rename-token-to-eventToken into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m23s
CI / build-and-publish (push) Successful in 1m12s
0.10.0
2026-03-12 18:11:09 +01:00
58043d1507
Rename path parameter {token} to {eventToken} in OpenAPI spec
...
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m18s
CI / build-and-publish (push) Has been skipped
Aligns the path parameter naming with the value object convention
used throughout the codebase (eventToken, rsvpToken, organizerToken).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 18:07:44 +01:00
6d7a55fdb3
Merge pull request 'Update dependency vite to v8' ( #31 ) from renovate/vite-8.x into master
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m21s
CI / build-and-publish (push) Has been skipped
Merge pull request 'Update dependency vite to v8' (#31 )
2026-03-12 17:55:13 +01:00
a8aacf4ee9
Merge pull request 'Update dependency vitest to v4.1.0' ( #33 ) from renovate/vitest-monorepo into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency vitest to v4.1.0' (#33 )
2026-03-12 17:55:02 +01:00
0a404ecde3
Merge pull request 'Update dependency @vitejs/plugin-vue to v6.0.5' ( #32 ) from renovate/vitejs-plugin-vue-6.x-lockfile into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency @vitejs/plugin-vue to v6.0.5' (#32 )
2026-03-12 17:54:54 +01:00
01f9e3dac1
Merge pull request 'Update dependency @vitest/eslint-plugin to v1.6.11' ( #34 ) from renovate/vitest-eslint-plugin-1.x-lockfile into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency @vitest/eslint-plugin to v1.6.11' (#34 )
2026-03-12 17:54:47 +01:00
ad607afe83
Merge pull request 'Update oxlint monorepo' ( #29 ) from renovate/oxlint-monorepo into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update oxlint monorepo' (#29 )
2026-03-12 17:54:40 +01:00
f0424223de
Merge pull request 'Update dependency maven to v3.9.14' ( #30 ) from renovate/maven-3.x into master
...
CI / frontend-test (push) Has been cancelled
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / backend-test (push) Has been cancelled
Merge pull request 'Update dependency maven to v3.9.14' (#30 )
2026-03-12 17:54:33 +01:00
7ab9068c14
Merge pull request 'Add cancel RSVP feature' ( #35 ) from 014-cancel-rsvp into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m17s
CI / build-and-publish (push) Has been skipped
2026-03-12 17:49:34 +01:00
41bb17d5c9
Add cancel RSVP feature (backend DELETE endpoint + frontend UI)
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m18s
CI / build-and-publish (push) Has been skipped
Allows guests to cancel their RSVP via a DELETE endpoint using their
guestToken. Frontend shows cancel button in RsvpBar and clears local
storage on success. Includes unit tests, integration tests, and E2E spec.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:45:37 +01:00
Renovate Bot
a44b938f08
Update oxlint monorepo
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
2026-03-12 16:03:22 +00:00
Renovate Bot
7477a953c5
Update dependency @vitest/eslint-plugin to v1.6.11
CI / backend-test (push) Successful in 1m1s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m9s
CI / build-and-publish (push) Has been skipped
2026-03-12 16:02:57 +00:00
Renovate Bot
7fb296b47f
Update dependency vitest to v4.1.0
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 15:02:35 +00:00
Renovate Bot
8ab7d345c8
Update dependency @vitejs/plugin-vue to v6.0.5
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 15:02:20 +00:00
Renovate Bot
cf2139f229
Update dependency vite to v8
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 27s
CI / frontend-e2e (push) Successful in 1m14s
CI / build-and-publish (push) Has been skipped
2026-03-12 14:02:26 +00:00
Renovate Bot
79f33d659c
Update dependency maven to v3.9.14
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 12:02:00 +00:00
e5b71f8fb8
Merge pull request 'Update oxlint monorepo' ( #28 ) from renovate/oxlint-monorepo into master
...
CI / backend-test (push) Successful in 55s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m9s
CI / build-and-publish (push) Has been skipped
Reviewed-on: #28
2026-03-12 10:10:22 +01:00
Renovate Bot
60649ae4de
Update oxlint monorepo
CI / backend-test (push) Successful in 56s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-12 07:01:59 +00:00
e90aefae15
Merge pull request 'Update dependency oxlint to ~1.53.0' ( #27 ) from renovate/oxlint-monorepo into master
...
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
Reviewed-on: #27
2026-03-11 14:02:07 +01:00
Renovate Bot
622932418d
Update dependency oxlint to ~1.53.0
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m11s
CI / build-and-publish (push) Has been skipped
2026-03-11 06:02:47 +00:00
a1855ff8d6
Merge pull request 'Auto-delete expired events via daily scheduled job' ( #26 ) from 013-auto-delete-expired into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m11s
CI / build-and-publish (push) Successful in 1m8s
0.9.0
2026-03-09 22:01:29 +01:00
4bfaee685c
Auto-delete expired events via daily scheduled cleanup job
...
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
Adds a Spring @Scheduled job (daily at 03:00) that deletes all events
whose expiry_date is before CURRENT_DATE using a native SQL DELETE.
RSVPs are cascade-deleted via the existing FK constraint.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 21:58:35 +01:00
2a6a658df9
Merge pull request 'Make expiryDate an internal concern, auto-set to event date + 7 days' ( #25 ) from auto-expiry-date into master
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m9s
CI / build-and-publish (push) Has been skipped
2026-03-09 21:33:43 +01:00
37d378ca59
Merge pull request 'Update dependency @vitest/eslint-plugin to v1.6.10' ( #22 ) from renovate/vitest-eslint-plugin-1.x-lockfile into master
...
CI / backend-test (push) Successful in 58s
CI / frontend-e2e (push) Has been cancelled
CI / build-and-publish (push) Has been cancelled
CI / frontend-test (push) Has been cancelled
Reviewed-on: #22
2026-03-09 21:30:28 +01:00
0441ca0c33
Make expiryDate an internal concern, auto-set to event date + 7 days
...
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
The expiry date is no longer user-facing: it is removed from the API
(request and response) and the frontend. The backend now automatically
calculates it as the event date plus 7 days. The expired banner and
RSVP-bar filtering by expired status are also removed from the UI,
since expiry is purely an internal data-retention mechanism.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 21:29:12 +01:00
Renovate Bot
e6711b33d4
Update dependency @vitest/eslint-plugin to v1.6.10
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 30s
CI / frontend-e2e (push) Successful in 1m11s
CI / build-and-publish (push) Has been skipped
2026-03-09 20:02:48 +00:00
6b3a06a72c
Add OG banner and mobile screenshots to README
...
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 36s
CI / frontend-e2e (push) Successful in 1m28s
CI / build-and-publish (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 21:00:41 +01:00
448e801ca3
Merge pull request 'Add Open Graph and Twitter Card meta-tags for link previews' ( #24 ) from 012-link-preview into master
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 34s
CI / frontend-e2e (push) Successful in 1m13s
CI / build-and-publish (push) Successful in 1m0s
0.8.0
2026-03-09 20:30:10 +01:00
751201617d
Add Open Graph and Twitter Card meta-tags for link previews
...
CI / backend-test (push) Successful in 1m9s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Has been skipped
Replace PathResourceResolver SPA fallback with SpaController that
injects OG/Twitter meta-tags into cached index.html template.
Event pages get event-specific tags (title, date, location),
all other pages get generic fete branding. Includes og-image.png
brand asset and forward-headers-strategy for proxy support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 20:25:39 +01:00
fa34223c10
Add tada emoji as SVG favicon
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m12s
CI / build-and-publish (push) Successful in 1m2s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
0.7.1
2026-03-09 19:26:38 +01:00
e6ea9405a6
Merge pull request 'Apply glassmorphism design system across all UI surfaces' ( #23 ) from glassmorphism-event-cards into master
CI / backend-test (push) Successful in 58s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Successful in 1m9s
0.7.0
2026-03-09 19:11:52 +01:00
32f96e4c6f
Replace hardcoded color values with glass design tokens
...
CI / backend-test (push) Successful in 1m0s
CI / frontend-test (push) Successful in 25s
CI / frontend-e2e (push) Successful in 1m13s
CI / build-and-publish (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 19:07:43 +01:00
e6c4a21f65
Apply glassmorphism to ConfirmDialog overlay and surface
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 19:00:39 +01:00
831ffc071a
Apply glassmorphism to BottomSheet and RSVP bar status
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:57:30 +01:00
5dd7cb3fb8
Add animated glow border to RSVP CTA button
...
Wrap the "I'm attending" button with animated glow-border and
glass-inner styling. Update test selectors for new structure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:51:21 +01:00
64816558c1
Apply glass utility class to form fields and buttons
...
Use .glass class on form fields and buttons on gradient backgrounds.
Buttons get gradient glow border via background-clip trick. Solid
white fallback preserved for BottomSheet context.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:47:57 +01:00
019ead7be3
Extract glass system into shared CSS utilities and design tokens
...
Centralize all hardcoded rgba color values into CSS custom properties
and extract glass/glow styles into reusable utility classes (.glass,
.glass-inner, .glow-border, .glow-border--animated) in main.css.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:35:36 +01:00
29974704d0
Apply glassmorphism to meta icon boxes on event detail view
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:22:39 +01:00
877c869a22
Restyle FAB with glass effect and static glow border
...
Replace solid orange FAB with glassmorphism inner and a conic
gradient border (pink-purple-indigo) with subtle glow halo.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:20:50 +01:00
a9743025a7
Fix hero image transition on event detail page
...
Replace hard-edged color overlay with CSS mask-image fade-out and
increase hero height to 420px for a seamless blend into the aurora
mesh background.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:13:57 +01:00
9f82275c63
Replace linear gradient background with aurora mesh gradient
...
Use layered radial gradients on a dark base (#1B1730) with
backdrop blur for an organic, aurora-like background effect
that better complements the glassmorphism event cards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:01:46 +01:00
e203ecf687
Apply glassmorphism styling to event cards on list view
...
Replace solid white event cards with glass-effect cards featuring
backdrop blur, semi-transparent gradient backgrounds, and light
borders that blend with the Electric Dusk gradient background.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:50:20 +01:00
aa3ea04bfc
Merge pull request 'Update dependency vue to v3.5.30' ( #21 ) from renovate/vue-monorepo into master
...
CI / backend-test (push) Successful in 57s
CI / frontend-test (push) Successful in 24s
CI / frontend-e2e (push) Successful in 1m13s
CI / build-and-publish (push) Has been skipped
Reviewed-on: #21
2026-03-09 17:25:42 +01:00
Renovate Bot
27ca8ab4b8
Update dependency vue to v3.5.30
CI / backend-test (push) Successful in 1m2s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Has been skipped
2026-03-09 11:17:01 +00:00
752d153cd4
Merge pull request 'Add organizer-only attendee list (011)' ( #20 ) from 011-view-attendee-list into master
CI / backend-test (push) Successful in 2m5s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m10s
CI / build-and-publish (push) Successful in 1m2s
0.6.0
2026-03-08 18:37:47 +01:00
763811fce6
Add organizer-only attendee list to event detail view (011)
...
CI / backend-test (push) Successful in 59s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m11s
CI / build-and-publish (push) Has been skipped
New GET /events/{token}/attendees endpoint returns attendee names when
a valid organizer token is provided (403 otherwise). The frontend
conditionally renders the list below the attendee count for organizers,
silently degrading for visitors.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 18:34:27 +01:00
d7ed28e036
Merge pull request 'Add event list temporal grouping (010)' ( #19 ) from 010-event-list-grouping into master
CI / backend-test (push) Successful in 1m2s
CI / frontend-test (push) Successful in 23s
CI / frontend-e2e (push) Successful in 1m9s
CI / build-and-publish (push) Successful in 1m1s
0.5.0
2026-03-08 17:30:35 +01:00