intermediate Skill Level
236
User Stories
36
Related Features
Moderate
Avg Complexity

Story Priority Distribution

0
High (0%)
236
Medium (100%)
0
Low (0%)

User Stories by Feature

BankID & Vipps Authentication

View Feature
Manage Biometric Authentication Settings

Within the app's settings, users can view their current biometric authentication status and manage enrollment. Options i...

medium
Enroll Device Biometrics After First Login

After a successful first-time BankID or Vipps authentication, the app prompts the user to enable biometric re-authentica...

medium
Re-authenticate Using Device Biometrics

On subsequent app launches, when the user has previously enrolled biometrics, the Biometric Auth Screen presents the pla...

medium
Fall Back to BankID or Vipps When Biometrics Fail

When biometric authentication fails for any reason — hardware failure, too many failed attempts, biometric data changed...

medium
Handle Authentication Errors and Provider Cancellation Gracefully

Both BankID and Vipps can return a variety of error states: user cancellation, network timeout, provider unavailability,...

medium
Sync Personnummer to Member System via Vipps Login

When a user authenticates with Vipps and the Vipps OIDC token contains a personnummer claim, the Vipps Integration Servi...

medium
Maintain Secure Session Across App Restarts

After successful BankID or Vipps authentication, the Auth Token Repository stores the Supabase access token and refresh...

medium
Authenticate with BankID on First Login

On first login, the user selects BankID as their authentication method. The app launches an in-app browser that navigate...

medium
Authenticate with Vipps on First Login

On first login, the user selects Vipps as their authentication method. The app launches an in-app browser pointing to th...

medium

Activity Logging Wizard

View Feature

Contact Detail & Management

View Feature
View Organisation-Specific Custom Fields on a Contact

The Custom Fields Table Widget fetches the organisation's field definitions from the organisation labels system in Supab...

medium
Edit Organisation-Specific Custom Fields for a Contact

Within the Edit Contact Screen, the Custom Fields Table Widget switches to editable input mode for coordinators. Each cu...

medium
Auto-Save Contact Edit Draft to Prevent Data Loss

The Edit Contact Screen implements periodic auto-save of the current form state to SQLite on the device. The draft is ke...

medium
Navigate to Contact Detail via Deep-Link from Other Screens

The Contact Detail Screen supports deep-link navigation, meaning it can be opened directly from any screen that referenc...

medium
Access Contact Notes Offline with Synchronisation on Reconnect

The Contact Notes Repository implements a local-first caching strategy. Recent notes for each contact are cached in SQLi...

medium
View Complete Contact Profile

The Contact Detail Screen is the primary read view for a single contact record. It presents personal information (name,...

medium
Edit Contact Record via Step-by-Step Form

The Edit Contact Screen provides a guided, step-by-step reactive form built with Flutter's Form widget and custom AppTex...

medium
Add a Note to a Contact Record

The Contact Notes Widget provides inline add-note functionality accessible from the contact detail screen. When a note i...

medium
Browse Chronological Notes Timeline for a Contact

The Contact Notes Widget renders the full notes history as a scrollable vertical timeline. Each note entry displays the...

medium
Validate Contact Fields in Real Time During Editing

The Edit Contact Screen applies field-level validation as part of Flutter's reactive form validation system. Validation...

medium

Geographic Matching & Map View

View Feature

Yearly Impact Summary

View Feature
Experience Animated Count-Up Statistics Reveal

Within the impact summary sequence, individual metric slides use the Animated Stats Widget to display numbers using Flut...

medium
View Mid-Year Half-Year Summary

In addition to the annual summary triggered on 31 December, the system generates a half-year variant on 30 June. The Yea...

medium
Share Impact Summary as Image or Deep Link

Within the Impact Summary Screen, a share button invokes the Impact Share Service to generate either a static shareable...

medium
Access Impact Summary Offline After Initial Load

The Impact Summary Repository caches the summary JSON payload locally on the device after the first successful load. Sub...

medium
View Graceful Empty State for Zero-Activity Year

When the Impact Calculation Service determines that a user has zero qualifying activities for the summary period, it gen...

medium
Configure Impact Summary Trigger Dates Per Organisation

The Impact Summary Trigger Config infrastructure component exposes organisation-level settings that control when impact...

medium
View Annual Impact Summary Retrospective

When a new annual impact summary is available (triggered on 31 December), the user can open a full-screen animated retro...

medium
Receive Push Notification When Impact Summary Is Ready

When the Impact Summary Trigger Service generates a new summary for a user, it dispatches a push notification via the Pu...

medium
Navigate Through Paginated Story Slide Sequence

The Impact Summary Screen presents the retrospective as a paginated sequence of themed story slides rendered by the Year...

medium

Mentor Workshop & Career Tools

View Feature
Dictate Session Notes Using Speech-to-Text

The Workshop Notes Widget integrates with the Speech Recognition Service from the speech-to-text-input feature, enabling...

medium
View Completed Workshop Count for Bufdir Reporting

The Workshop Management Service exposes completed workshop counts to the Bufdir reporting pipeline. The Workshop List Sc...

medium
Manage Workshop Session Participant List

The Participant List Screen displays enrolled participants for a given session, pulling from the contacts database filte...

medium
Capture and Auto-Save Structured Session Notes

The Workshop Notes Widget provides an embeddable rich-text note-taking area scoped to a single workshop session. Notes a...

medium
Create and Manage Session Follow-Up To-Do Items

The To-Do List Widget is a lightweight checklist embedded within a workshop session and persisted alongside the session...

medium
Progress Workshop Session Through Lifecycle States

The Workshop Session Screen provides action buttons for each valid lifecycle transition. The Workshop Management Service...

medium
View Workshop Session Details Dashboard

The Workshop Session Screen acts as a dashboard for all session-related information and actions. It displays session met...

medium
View All Workshop Sessions Overview

The coordinator needs a central overview of all workshop sessions they facilitate, organized by lifecycle status (upcomi...

medium
Create a New Workshop Session

Coordinators need to create workshop sessions in advance to prepare the digital workspace — adding participants, pre-loa...

medium