As a website visitor, I want to rate pages anonymously with a unique identifier (ID) tied to my device and browser, so my ratings are stored per page without using cookies.
Description
Enable anonymous visitors to rate pages, 1-5 stars. Generate a unique user identifier based on device and browser characteristics (no cookies). Store ratings per page, linked to the identifier, in a collection.
Acceptance Criteria
Rating Submission:
Users can rate a page (1-5 stars) via a star widget.
Rating submission requires no login or personal data.
Unique Identifier:
Generate a unique ID using device and browser fingerprint.
ID remains consistent for the same device/browser combination.
No cookies or local storage used for ID generation/storage.
Rating Storage:
Store ratings in a database, linking each rating to the page URL and user ID.
Ensure data privacy and compliance (e.g., GDPR).
Rating Display:
Show average rating and number of ratings per page.
Users can view their own rating for a page when using the same device and browser.
Security:
Prevent rating spam, i.e. limit one rating per page per ID.
Securely handle fingerprint data to avoid privacy issues.