🔧 Technical Summary

This document provides a general overview of the CareDeal application based

on code analysis.

CareDeal is a mobile application that connects patients needing

home nursing care with available healthcare professionals.

Target market: Belgium (evidenced by default +32 and INAMI number)

Main use case:

1. A patient (or their representative) creates a care request

2. Nurses in the area see the request

3. A nurse contacts the patient

4. Care is organized between the two parties

Three user types exist in the application:

1. Patient

2. CAREGIVER (Nurse)

3. Organization

Source: lib/core/domain/entities/user_type.dart

PATIENT (simple):

1. Select "Patient" role

2. Enter phone number

3. Confirm SMS code

4. Account active -> can create requests

CAREGIVER (complete):

1. Select "Caregiver" role

2. Choose type (Individual/Organization)

3. Enter INAMI number (11 digits)

4. Create profile (name, email, languages)

5. Define activity area (address + 3km radius)

6. Upload ID documents (front + back)

7. Verify phone number

8. Account created in "pendingVerification" status

9. Wait for care-support team validation (24h to 48h)

A care request contains:

Possible statuses:

Two possible numbers per request:

Handled scenarios:

The status is determined by several fields:

Note: The terms "organized" and "planned" are SYNONYMOUS.

Only one status exists in the application: "arranged".

Who can mark as arranged:

Current Test Period

The application is currently FREE during the test period.

All features are accessible at no cost.

After Test Period

An annual subscription will be offered.

Pricing details will be communicated before the end of the test period.

Free plan includes:

Framework: Flutter (Dart)

Architecture: Clean Architecture (domain/data/presentation)

State management: Riverpod with code generation

Navigation: GoRouter

Backend: Firebase (Auth, Firestore, Storage, Functions, Cloud Messaging)

Main modules:

Firebase Firestore collections:

Firebase Storage: