Skip to content

Acceptance Criteria — Home Page (HOME)

User Story

As a Repair Check web-app user (guest or logged in) I want to see a Home page listing all product features, with each one clearly active or inactive based on whether I'm logged in and how it's configured So that I can discover and enter the features available to me without hitting dead taps or a page that doesn't match the design

Source: RC-1 — Web app - Home page (original build: banner, feature grid split into free vs. login-required features, per-feature first-use tip, per-feature first-use intro popup, phone/tablet support) and RC-106 — Web App - Fix Home page issue (child of Epic RC-101: feature visibility must follow the Admin feature-config page, RepairCheck-logo click must redirect Home, plus a defect comment — Ann, 2026-07-09 — where a guest-accessible feature ["login required" unchecked in Admin] was a dead tap instead of working per Figma).

RC-106 extends/supersedes RC-1's static feature lists. RC-1 hardcodes which features are free (Clever tanken, Parkplatz Suche) vs. login-required (Unfallhilfe, Werkstatt Finden, Leasing Rückläufe, Unfall Rechtsberatung, KFZ Aufbereiter, Experte für Fahrzeugdiagnose, Ein Auto Mieten). RC-106 says this must instead follow the Admin feature-config page (/admin/features) per feature. AC/BR below treat the Admin config as the source of truth (BR-HOME-01) and RC-1's lists as the baseline values at authoring time (BR-HOME-02), consistent with how the expert and lawyer features' own stakeholder overrides were handled.

Grounded against 01_Features/homepage/screens/Screenshot 2026-08-06 at 09.36.25.png. This is a partial/cropped screenshot showing only the "LOGGED IN" flow — a Splash screen and a Home screen (banner text, "Book an appointment" / "Create a damage report" actions, a quick-menu icon grid, bottom nav). It is cut off before a second section (visible heading fragment "FIRST REGISTRATIO…"), and no guest-view or inactive-tile state is visible. RC-1's own Figma links (mobile + web) were not fetched — Figma access is out of scope for this skill unless a screenshots folder is passed, and none exists for homepage beyond this one file. Treat all exact visual/layout details as unconfirmed beyond what's stated in the ticket text.

Scenario-based AC — Given / When / Then

AC ID Scenario Jira Type Criticality Given (context) When (action / trigger) Then (expected outcome) Linked TCs Status
AC-HOME-01 Open the Home page as a logged-in user RC-1 Happy 🔴 Critical The user is logged in The user navigates to the Home page The banner is shown
And every feature enabled in the Admin config appears as a tile
And every feature usable by a logged-in user is shown active
TC-HOME-001 Draft
AC-HOME-02 Open the Home page as a guest RC-1, RC-106 Happy 🔴 Critical The user is not logged in The user navigates to the Home page The banner is shown
And features enabled in Admin and marked "login not required" appear active
And features marked "login required" appear visibly inactive, matching Figma
TC-HOME-002 Draft
AC-HOME-03 Use a guest-accessible feature (regression) RC-106 Happy 🔴 Critical A guest is on the Home page
And a feature is Admin-enabled with "login required" unchecked
The guest taps that feature's tile The guest is taken into that feature's page
And the tap is not a silent no-op — the defect in Ann's 2026-07-09 report was the tap producing literally no reaction (no navigation, no error, no blank screen)
TC-HOME-003 Draft
AC-HOME-04 First-time tip on a feature RC-1 Happy 🟡 Medium The user has never seen the tip for feature X The Home page is displayed The first-use tip for feature X is shown to the user TC-HOME-004 Draft
AC-HOME-05 Skip a tip so it does not reappear RC-1 Alternate 🟡 Medium The first-use tip for feature X is showing The user skips the tip The tip is dismissed immediately
And it does not reappear on a later visit to the Home page (same browser)
TC-HOME-005, TC-HOME-014 Draft
AC-HOME-06 First tap on a feature shows its intro popup RC-1 Happy 🟠 High A logged-in user has never opened feature X (e.g. Unfallhilfe) before The user taps feature X's tile for the first time An intro popup for feature X is shown
And after the user proceeds, they reach feature X's page
TC-HOME-006 Draft
AC-HOME-07 Later taps skip the intro popup RC-1 Alternate 🟡 Medium The user already saw the intro popup for feature X The user taps feature X's tile again The user goes directly to feature X's page
And the intro popup does not reappear
TC-HOME-007 Draft
AC-HOME-08 Return to Home via the RepairCheck logo RC-106 Happy 🟠 High The user is on any page of the web app The user clicks/taps the RepairCheck logo The user is redirected to the Home page TC-HOME-008 Draft
AC-HOME-09 Login-required feature tile redirects a guest to the Login page RC-1, RC-106 Alternate 🟠 High A guest is on the Home page
And feature Y is Admin-configured "login required"
The guest taps feature Y's tile The guest is not taken into feature Y's page
And the guest is redirected to the Login page instead
TC-HOME-009 Draft
AC-HOME-10 Admin-disabled feature is hidden RC-106 Negative 🟠 High Feature Z is disabled in the Admin feature-config page Any user (guest or logged-in) opens the Home page Feature Z's tile does not appear on the Home page at all TC-HOME-010 Draft
AC-HOME-11 Not-yet-implemented free feature stays inactive for everyone RC-1 Edge 🟡 Medium "Clever tanken" or "Parkplatz Suche" is Admin-enabled as a free (no-login) feature, but not implemented this phase Any user (guest or logged-in) views the Home page The tile is shown but inactive / non-tappable, regardless of login state TC-HOME-011 Draft
AC-HOME-12 Home page works on phone and tablet RC-1 Non-functional 🟠 High A user is on a phone-sized viewport, then a tablet-sized viewport The user opens the Home page The banner and quick menu are fully visible and operable in each
And no content is clipped, overlapping, or requires horizontal scrolling
TC-HOME-012 Draft
AC-HOME-13 Banner and quick menu adapt to the device RC-1 Non-functional ⚪ Low The Home page is open The user's device/viewport changes The banner and quick-menu positioning (floating behaviour) adapts to the device — general responsive behaviour only, exact breakpoints/mechanics not required (stakeholder confirmed low priority) TC-HOME-013 Draft

Business Rules (rule-based AC)

Rule ID Business Rule Jira Rationale / Source Criticality Linked TCs Status
BR-HOME-01 Each Home-page feature tile's visibility and enablement is driven by that feature's entry in the Admin feature-config page (/admin/features) — not a list hardcoded in the app. Confirmed schema: a simple enabled + loginRequired boolean pair per feature — no per-role or per-market variants. RC-106 RC-106 description + defect comment (Ann, 2026-07-09), extending RC-1's original static lists. Schema confirmed with stakeholder 2026-08-06. 🔴 Critical TC-HOME-002, TC-HOME-010 Draft
BR-HOME-02 Baseline config at RC-1 authoring time: free/no-login features = "Clever tanken", "Parkplatz Suche"; login-required features = "Unfallhilfe", "Werkstatt Finden", "Leasing Rückläufe", "Unfall Rechtsberatung", "KFZ Aufbereiter", "Experte für Fahrzeugdiagnose", "Ein Auto Mieten". ⚠️ Superseded as source of truth by BR-HOME-01 — this list may drift as Admin config changes; use it only as the starting/example data set. RC-1 RC-1 description. 🟡 Medium TC-HOME-002 Draft
BR-HOME-03 Free (no-login) features not yet implemented this phase ("Clever tanken", "Parkplatz Suche") stay inactive for every user, guest or logged-in, even though they require no login. RC-1 RC-1 description ("We don't implement these features in this phase so these features should be inactive"). 🟡 Medium TC-HOME-011 Draft
BR-HOME-04 A feature's first-use tip and first-use intro popup are each shown at most once per feature per browser, tracked via a browser cookie — not per user account. Once seen or skipped, neither reappears in that browser; clearing cookies, switching browser, or switching device resets the "seen" state. Each feature's tip/intro state is independent — a feature only starts showing its tip/intro once that feature itself is turned on (Admin-enabled). RC-1 RC-1 description ("display for the first time... can skip", "first time user taps... they will see an intro popup"). Persistence mechanism confirmed with stakeholder 2026-08-06. 🟠 High TC-HOME-004, TC-HOME-005, TC-HOME-006, TC-HOME-007, TC-HOME-014 Draft

Confirmed Decisions (resolved 2026-08-06 — all prior open questions answered)

# Item Decision
1 Tap behaviour on an inactive/login-required tile Navigates the guest to the Login page (not a dead tap, not an in-page prompt). Updated AC-HOME-09.
2 "Floating based on the device" exact breakpoints/mechanics Out of scope for detailed verification — stakeholder confirmed not a priority. AC-HOME-13 downgraded to ⚪ Low; only general responsive behaviour (already covered by AC-HOME-12) needs testing.
3 Tip/intro-popup "seen" persistence scope Stored via a browser cookie — per browser/device, not per user account. Clearing cookies or switching browser/device resets the "seen" state. Updated BR-HOME-04.
4 Tip vs. intro popup relationship Feature-specific: a feature's tip/intro only activates once that feature itself is turned on (Admin-enabled) — independent per feature, not an all-or-nothing global mechanic. Updated BR-HOME-04.
5 Mobile vs. web visual design Confirmed the same — no separate mobile/web breakdown needed.
6 Other RC-4 children covering the Home page Confirmed none — feature scope stays at RC-1 + RC-106.
7 Admin feature-config schema Confirmed: simple enabled + loginRequired boolean pair per feature — no role/market variants. Updated BR-HOME-01.
8 Nature of the RC-106 "click doesn't show anything" defect Confirmed a silent no-op — the tap produces literally no reaction (no blank screen, no JS error). This is exactly what AC-HOME-03 regresses against. Updated AC-HOME-03.

Traceability

RC-1, RC-106  ──▶  AC-HOME-01..13 / BR-HOME-01..04  ──▶  TC-HOME-NNN
   (the why)              (the what — this file)              (the how to verify)
  • Upward: header SRS ref + each row's Jira column link back to RC-1 (Epic RC-4) and RC-106 (Epic RC-101).
  • Downward: Linked TCs populated by /gen-tc homepage RC-1 (covering both RC-1 and RC-106) — see 01_Features/homepage/./homepage_tc.md (TC-HOME-001…013).
  • Coverage: every AC and business rule has ≥1 linked TC. No coverage gap remains.

Scenario classes intentionally not covered (§3 of the AC technique guide):

Class Why skipped
Permission (roles beyond guest/logged-in) Confirmed no role/market variants exist (BR-HOME-01) — only guest vs. logged-in apply, both already covered.
State transitions (entity lifecycle) The Home page has no entity of its own beyond per-user "tip seen" / "intro seen" flags, covered under BR-HOME-04.
Security, accessibility, observability No target, threshold or requirement is stated anywhere in RC-1 or RC-106; inventing one would be unverifiable.
Localisation / i18n The page appears German-labelled (feature names); scope not confirmed.