flowchart TD
    subgraph "Sign-In Flow"
        A1[User enters credentials] --> B1{SignInBloc};
        B1 --> C1[Firebase Auth: signInWithEmailAndPassword];
        C1 -- Success --> D1[Navigate to Home];
        C1 -- Failure --> E1[Show error message];
    end

    subgraph "Password Reset Flow"
        A2[User requests password reset] --> B2{SignInBloc};
        B2 --> C2[Firebase Auth: sendPasswordResetEmail];
        C2 -- Email Sent --> D2[User clicks deep link];
        D2 --> E2[UI with new password fields];
        E2 --> F2{SignInBloc};
        F2 --> G2[Firebase Auth: confirmPasswordReset];
        G2 -- Success --> H2[Show success message];
        G2 -- Failure --> I2[Show error message];
    end

    subgraph "Event Listing Flow"
        A3[User navigates to Events screen] --> B3{EventsBloc};
        B3 --> C3[GraphQL Query: getEvents];
        C3 --> D3[Firestore: events collection];
        D3 -- Returns event data --> C3;
        C3 -- Returns data --> B3;
        B3 --> E3[Display list of events];
    end

    subgraph "Create Event Flow"
        A4[User submits new event form] --> B4{CreateEventBloc};
        B4 --> C4[GraphQL Mutation: createEvent];
        C4 --> D4[Firestore: events collection];
        D4 -- Success --> C4;
        C4 -- Returns success --> B4;
        B4 --> E4[Navigate to event details];
    end

    subgraph "Profile Viewing Flow"
        A5[User navigates to Profile screen] --> B5{ProfileBloc};
        B5 --> C5[GraphQL Query: getProfile];
        C5 --> D5[Firestore: users collection];
        D5 -- Returns profile data --> C5;
        C5 -- Returns data --> B5;
        B5 --> E5[Display profile information];
    end
