HyvFlow (Project Management)
Overview
Section titled “Overview”HyvFlow is a full-featured project management and workflow tool. It’s the second-largest module (~140+ files) with support for hierarchical project structures, multiple view types, and team collaboration.
Module path: src/lib/modules/hyvflow/
Routes: /hyvflow, /hyvflow/[id]/[...path]
Data Hierarchy
Section titled “Data Hierarchy”Workspace└── Portfolio └── Project └── Milestone ├── Sprint └── Task ├── Subtask ├── Activity/Comments ├── Attachments ├── Checklist Items └── Relationships/LinksEntity Statuses
Section titled “Entity Statuses”| Entity | Statuses |
|---|---|
| Workspace | Active, Archived, Hidden, Complete, Canceled, Paused, Draft |
| Portfolio | Active, Archived, Hidden, InProgress, InReview, Complete, Canceled, Paused |
| Project | Active, Archived, Hidden, InProgress, InReview, Complete, Canceled, Paused |
| Milestone | Active, Archived, Hidden, InProgress, InReview, Complete, Canceled, Paused |
| Task | Active, InProgress, InReview, Complete, Canceled, Paused |
Task Priorities: Urgent, High, Normal, Low
Task Views
Section titled “Task Views”Kanban Board
Section titled “Kanban Board”Sprint-based columns with status grouping. Drag-and-drop between statuses.
Components: board/kanban.svelte, board-sprints.svelte, board-status.svelte, board-task.svelte
Gantt Chart
Section titled “Gantt Chart”Timeline visualization powered by dhtmlx-gantt v9.0.14. Shows sprints as parent rows with tasks as children.
Components: gantt/gantt-component.svelte, gantt/gantt-tab.svelte
- 31-day range (past 3 days to future)
- Today highlighting
- Click-to-open task modal
List View
Section titled “List View”Sprint-grouped task listing with status sections.
Components: listView/listview.svelte, listview-sprints.svelte, listview-task.svelte
Table View
Section titled “Table View”Sortable/filterable tabular display.
Components: table/table-list-tasks.svelte, table-header-filters.svelte
Task Features
Section titled “Task Features”| Feature | Description |
|---|---|
| Subtasks | Hierarchical via parentId |
| Custom Statuses | Per-milestone via arrayStatus |
| Sprints | Iterative cycles with date ranges |
| Assignees | Multiple users per task |
| Tags | Organization labels |
| Time Tracking | Estimation and tracking |
| Checklists | Items with assignees |
| File Attachments | Upload and manage files |
| Activity Feed | Comments with @mentions and threads |
| Relationships | Links between tasks |
| URL Dependencies | External dependency links |
State Management
Section titled “State Management”Core Managers
Section titled “Core Managers”| Manager | File | Purpose |
|---|---|---|
workspaceManager | workspace-manager.svelte.ts | Workspaces, portfolios, projects, milestones |
taskManager | task-manager.svelte.ts | Task CRUD, activities, nested subtasks |
notificationManager | notifications-manager.svelte.ts | Unread/all notifications |
favoriteManager | favorites-manager.svelte.ts | Bookmarked items |
userInterfacesManager | user-interfaces-manager.svelte.ts | Persisted UI preferences |
sidebarSessionManager | sidebar-session-manager.svelte.ts | Session-based sidebar state |
Action Stores
Section titled “Action Stores”Svelte writable stores for UI state:
workspaceActions,portfolioActions,projectActions,milestoneActions,sprintActions- Dialog toggles:
isopenproject,isopenportfolio,isopensprint, etc. myTasks,refreshTaskTree,taskrelationships
Batch Operations
Section titled “Batch Operations”firestoreBatchManager.executeBatch(operations) for multi-document transactions:
- Task batch: recursive deletion, status updates
- Milestone batch: bulk operations
- Project batch: cascade operations
Routing
Section titled “Routing”HyvFlow uses a catch-all route pattern:
/hyvflow/{workspaceId}/pf/{portfolioId}/p/{projectId}/m/{milestoneId}Path segments are parsed to set context in workspaceManager.
Validation Schemas
Section titled “Validation Schemas”All use Valibot:
workspace.ts- name, color, logoportfolio.ts- name, statusproject.ts- name, description, objectives, risks, scope, requirements, vision, resources, membersmilestone.ts- name, descriptionsprint.ts- sprint fieldsstatus.ts- custom status columns
Key Components
Section titled “Key Components”| Category | Components |
|---|---|
| Forms | workspace-form, portfolio-form, project-form, milestone-form, sprints-form, status-form |
| Task Modal | task-table-form-modal (16KB), task-modal, task-upload-files, tasks-tags |
| Sidebar Left | menu-sidebar (tree nav), menu-sidebar-item |
| Sidebar Right | url-dependencies, menu-relationships |
| Activity | task-activity, comment-form, comment-card, mention-dropdown, replies-list |
| My Tasks | portfolios-tasks, milestone-tasks (data table with 10 columns) |
| Dropdowns | priority, status, task-type, relationships, chronometer |
My Tasks
Section titled “My Tasks”Available at /my-tasks - shows all tasks assigned to the current user across all workspaces, with filtering by status, priority, name, and due date.