# nurza777/kvar architecture

> Architecture diagram of the GitHub repository nurza777/kvar, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nurza777/kvar
- Repository: https://github.com/nurza777/kvar

## Overview

EloTasks is a cross-platform Flutter task-management app. Its main user flow is account/workspace selection, project and board navigation, then creating and moving tasks through columns and managing task details. The README describes local-first state persistence; the tree also contains backend clients and Firebase Functions for collaboration-related services. Several UI and service implementations were not sampled, so the graph shows documented product areas but omits uncertain wiring.

Main entry points: [`lib/state/app_state.dart`](https://github.com/nurza777/kvar/blob/main/lib/state/app_state.dart) (Application state), [`lib/features/board/board_screen.dart`](https://github.com/nurza777/kvar/blob/main/lib/features/board/board_screen.dart) (Kanban board), [`lib/features/home/projects_screen.dart`](https://github.com/nurza777/kvar/blob/main/lib/features/home/projects_screen.dart) (Projects and boards), [`lib/features/home/home_shell.dart`](https://github.com/nurza777/kvar/blob/main/lib/features/home/home_shell.dart) (Workspace navigation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App experience"]
  node_app_entry["App entry<br/>[main.dart]"]
  node_auth["Account access<br/>[auth_screen.dart]"]
  node_home["Workspace navigation<br/>[home_shell.dart]"]
end

subgraph group_work["Projects and tasks"]
  node_projects["Projects and boards"]
  node_board["Kanban board<br/>[board_screen.dart]"]
  node_board_views["Board views<br/>[gantt_view.dart]"]
  node_board_summaries["Board summaries"]
  node_archive["Archived work"]
  node_task_detail["Task details"]
  node_my_tasks["Assigned tasks"]
end

subgraph group_collab["Collaboration and business"]
  node_members["Members and access"]
  node_invitations["Invitations"]
  node_messenger["Chats and messaging<br/>[chats_screen.dart]"]
  node_crm["CRM deals<br/>[crm_screen.dart]"]
  node_reports["Reports"]
  node_flow["Workflow automation<br/>[flow_screen.dart]"]
end

subgraph group_services["Data and integrations"]
  node_app_state["Application state<br/>[app_state.dart]"]
  node_local_store[("Local persistence<br/>[local_store.dart]")]
  node_integrations_ui["Integration settings"]
  node_firestore_repo["Firestore repository"]
  node_firebase_auth["Firebase authentication"]
  node_functions["Cloud event handlers<br/>[index.ts]"]
  node_task_notifications["Notification services"]
end

node_user(("User"))
node_firestore[("Cloud Firestore")]
node_push["Push messaging"]
node_calendar["Google Calendar"]

node_user -->|"opens"| node_app_entry
node_app_entry -->|"starts at"| node_auth
node_user -->|"navigates"| node_home
node_home -->|"opens projects"| node_projects
node_projects -->|"opens board"| node_board
node_board -->|"opens task"| node_task_detail
node_home -->|"opens assigned"| node_my_tasks
node_board -->|"switches view"| node_board_views
node_board -->|"opens summaries"| node_board_summaries
node_projects -->|"opens archive"| node_archive
node_projects -->|"updates workspace"| node_app_state
node_board -->|"updates tasks"| node_app_state
node_task_detail -->|"updates details"| node_app_state
node_app_state -->|"reads and writes"| node_local_store
node_auth -.->|"authenticates"| node_firebase_auth
node_app_state -.->|"uses repository"| node_firestore_repo
node_members -->|"manages access"| node_app_state
node_invitations -->|"manages invitations"| node_app_state
node_messenger -->|"manages chats"| node_app_state
node_crm -->|"manages deals"| node_app_state
node_reports -->|"requests reports"| node_app_state
node_flow -->|"configures workflows"| node_app_state
node_integrations_ui -->|"configures integrations"| node_app_state
node_firestore_repo -.->|"reads and writes"| node_firestore
node_firestore -->|"triggers handlers"| node_functions
node_functions -->|"sends notifications"| node_push
node_functions -->|"syncs deadlines"| node_calendar
node_task_notifications -.->|"receives notifications"| node_push

click node_app_entry "https://github.com/nurza777/kvar/blob/main/lib/main.dart"
click node_auth "https://github.com/nurza777/kvar/blob/main/lib/features/auth/auth_screen.dart"
click node_home "https://github.com/nurza777/kvar/blob/main/lib/features/home/home_shell.dart"
click node_app_state "https://github.com/nurza777/kvar/blob/main/lib/state/app_state.dart"
click node_local_store "https://github.com/nurza777/kvar/blob/main/lib/core/storage/local_store.dart"
click node_projects "https://github.com/nurza777/kvar/blob/main/lib/features/home/projects_screen.dart"
click node_board "https://github.com/nurza777/kvar/blob/main/lib/features/board/board_screen.dart"
click node_board_views "https://github.com/nurza777/kvar/blob/main/lib/features/board/gantt_view.dart"
click node_board_summaries "https://github.com/nurza777/kvar/blob/main/lib/features/board/summary_boards_screen.dart"
click node_archive "https://github.com/nurza777/kvar/blob/main/lib/features/board/archive_screen.dart"
click node_task_detail "https://github.com/nurza777/kvar/blob/main/lib/features/task/task_detail_screen.dart"
click node_my_tasks "https://github.com/nurza777/kvar/blob/main/lib/features/home/my_tasks_screen.dart"
click node_members "https://github.com/nurza777/kvar/blob/main/lib/features/members/members_screen.dart"
click node_invitations "https://github.com/nurza777/kvar/blob/main/lib/features/members/invitations_screen.dart"
click node_messenger "https://github.com/nurza777/kvar/blob/main/lib/features/messenger/chats_screen.dart"
click node_crm "https://github.com/nurza777/kvar/blob/main/lib/features/crm/crm_screen.dart"
click node_reports "https://github.com/nurza777/kvar/blob/main/lib/features/reports/reports_screen.dart"
click node_flow "https://github.com/nurza777/kvar/blob/main/lib/features/flow/flow_screen.dart"
click node_integrations_ui "https://github.com/nurza777/kvar/blob/main/lib/features/integrations/integrations_screen.dart"
click node_firestore_repo "https://github.com/nurza777/kvar/blob/main/lib/core/backend/firestore_repository.dart"
click node_firebase_auth "https://github.com/nurza777/kvar/blob/main/lib/core/backend/firebase_auth_service.dart"
click node_functions "https://github.com/nurza777/kvar/blob/main/functions/src/index.ts"
click node_task_notifications "https://github.com/nurza777/kvar/blob/main/lib/core/notifications/notification_service.dart"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app_entry,node_auth,node_home,node_user toneBlue
class node_projects,node_board,node_board_views,node_board_summaries,node_archive,node_task_detail,node_my_tasks,node_firestore toneAmber
class node_members,node_invitations,node_messenger,node_crm,node_reports,node_flow toneMint
class node_app_state,node_local_store,node_integrations_ui,node_firestore_repo,node_firebase_auth,node_functions,node_task_notifications toneRose
class node_push,node_calendar toneIndigo
```

## Components

### App experience

- [App entry](https://github.com/nurza777/kvar/blob/main/lib/main.dart): `lib/main.dart`
- [Account access](https://github.com/nurza777/kvar/blob/main/lib/features/auth/auth_screen.dart): `lib/features/auth/auth_screen.dart`
- [Workspace navigation](https://github.com/nurza777/kvar/blob/main/lib/features/home/home_shell.dart): `lib/features/home/home_shell.dart`

### Projects and tasks

- [Projects and boards](https://github.com/nurza777/kvar/blob/main/lib/features/home/projects_screen.dart): `lib/features/home/projects_screen.dart`
- [Kanban board](https://github.com/nurza777/kvar/blob/main/lib/features/board/board_screen.dart): `lib/features/board/board_screen.dart`
- [Board views](https://github.com/nurza777/kvar/blob/main/lib/features/board/gantt_view.dart): `lib/features/board/gantt_view.dart`
- [Board summaries](https://github.com/nurza777/kvar/blob/main/lib/features/board/summary_boards_screen.dart): `lib/features/board/summary_boards_screen.dart`
- [Archived work](https://github.com/nurza777/kvar/blob/main/lib/features/board/archive_screen.dart): `lib/features/board/archive_screen.dart`
- [Task details](https://github.com/nurza777/kvar/blob/main/lib/features/task/task_detail_screen.dart): `lib/features/task/task_detail_screen.dart`
- [Assigned tasks](https://github.com/nurza777/kvar/blob/main/lib/features/home/my_tasks_screen.dart): `lib/features/home/my_tasks_screen.dart`

### Collaboration and business

- [Members and access](https://github.com/nurza777/kvar/blob/main/lib/features/members/members_screen.dart): `lib/features/members/members_screen.dart`
- [Invitations](https://github.com/nurza777/kvar/blob/main/lib/features/members/invitations_screen.dart): `lib/features/members/invitations_screen.dart`
- [Chats and messaging](https://github.com/nurza777/kvar/blob/main/lib/features/messenger/chats_screen.dart): `lib/features/messenger/chats_screen.dart`
- [CRM deals](https://github.com/nurza777/kvar/blob/main/lib/features/crm/crm_screen.dart): `lib/features/crm/crm_screen.dart`
- [Reports](https://github.com/nurza777/kvar/blob/main/lib/features/reports/reports_screen.dart): `lib/features/reports/reports_screen.dart`
- [Workflow automation](https://github.com/nurza777/kvar/blob/main/lib/features/flow/flow_screen.dart): `lib/features/flow/flow_screen.dart`

### Data and integrations

- [Application state](https://github.com/nurza777/kvar/blob/main/lib/state/app_state.dart): `lib/state/app_state.dart`
- [Local persistence](https://github.com/nurza777/kvar/blob/main/lib/core/storage/local_store.dart): `lib/core/storage/local_store.dart`
- [Integration settings](https://github.com/nurza777/kvar/blob/main/lib/features/integrations/integrations_screen.dart): `lib/features/integrations/integrations_screen.dart`
- [Firestore repository](https://github.com/nurza777/kvar/blob/main/lib/core/backend/firestore_repository.dart): `lib/core/backend/firestore_repository.dart`
- [Firebase authentication](https://github.com/nurza777/kvar/blob/main/lib/core/backend/firebase_auth_service.dart): `lib/core/backend/firebase_auth_service.dart`
- [Cloud event handlers](https://github.com/nurza777/kvar/blob/main/functions/src/index.ts): `functions/src/index.ts`
- [Notification services](https://github.com/nurza777/kvar/blob/main/lib/core/notifications/notification_service.dart): `lib/core/notifications/notification_service.dart`

### Other components

- **User**
- **Cloud Firestore**
- **Push messaging**
- **Google Calendar**

## Connections

- User → App entry: opens
- App entry → Account access: starts at
- User → Workspace navigation: navigates
- Workspace navigation → Projects and boards: opens projects
- Projects and boards → Kanban board: opens board
- Kanban board → Task details: opens task
- Workspace navigation → Assigned tasks: opens assigned
- Kanban board → Board views: switches view
- Kanban board → Board summaries: opens summaries
- Projects and boards → Archived work: opens archive
- Projects and boards → Application state: updates workspace
- Kanban board → Application state: updates tasks
- Task details → Application state: updates details
- Application state → Local persistence: reads and writes
- Account access → Firebase authentication: authenticates
- Application state → Firestore repository: uses repository
- Members and access → Application state: manages access
- Invitations → Application state: manages invitations
- Chats and messaging → Application state: manages chats
- CRM deals → Application state: manages deals
- Reports → Application state: requests reports
- Workflow automation → Application state: configures workflows
- Integration settings → Application state: configures integrations
- Firestore repository → Cloud Firestore: reads and writes
- Cloud Firestore → Cloud event handlers: triggers handlers
- Cloud event handlers → Push messaging: sends notifications
- Cloud event handlers → Google Calendar: syncs deadlines
- Notification services → Push messaging: receives notifications
