How ivanerricis/easytask-tauri works
EasyTask is a local-first desktop task manager organized around workspaces and hierarchical notes. The user journey starts on the workspace home page, opens a workspace, then works in notes containing groups, sections, and nested tasks; edits are persisted locally. Major README capabilities include automation, templates, audio, archive/trash, search, undo, import/export, and customization. The graph includes those product areas, but several links are documented rather than verified from sampled implementation; unsampled subsystems are represented by their existing directories.
Main entry points: WorkSpacePage.tsx Workspace view · GroupTasks.tsx Tasks and groups · main.tsx App startup and routing · App.tsx Provider shell
Components 23
Desktop app
- App startup and routing
src/main.tsx - Provider shell
src/App.tsx - Preferences and themes
src/contexts/preferences-context.tsx
Workspace and notes
- Workspace home
src/pages/mainPage/MainPage.tsx - Workspace view
src/pages/workspacePage/WorkSpacePage.tsx - Workspace tree
src/pages/workspacePage/components/sidebar/FileTree.tsx - Notes and panes
src/pages/workspacePage/components/note/Note.tsx - Workspace state
src/contexts/workspace-data/provider.tsx
Task operations
- Tasks and groups
src/pages/workspacePage/components/groups/GroupTasks.tsx - Task selection
src/pages/workspacePage/components/tasks/task-selection.ts - Note tree operations
src/contexts/note-tree-ops.ts - Undo and redo
src/contexts/undo/stack.ts
Product features
- Automation rules
src/contexts/automations-context.tsx - Templates
src/contexts/workspace-data/templates.ts - Note search
src/pages/workspacePage/components/note-search-context.tsx - Archive and trash
src/db/queries/trash.ts - Workspace transfer
src/lib/workspace-transfer.ts - Audio playback
src/components/draggable-audio-player.tsx
Local persistence
- Backups
src/db/backup.ts - Database manager
src/db/dbManager.ts - Task queries
src/db/queries/task.ts - SQLite database
src/db/dbManager.ts
Other components
- User
Connections 27
- User → App startup and routing: launches
README.md - App startup and routing → Provider shell: renders
src/main.tsx - Provider shell → Workspace home: routes home
src/App.tsx - Provider shell → Workspace view: routes workspace
src/App.tsx - User → Workspace home: chooses workspace
README.md - Workspace home → Workspace view: opens workspace
README.md - Workspace view → Workspace tree: shows hierarchy
README.md - Workspace view → Notes and panes: opens notes
README.md - Notes and panes → Tasks and groups: shows tasks
README.md - User → Tasks and groups: edits tasks
README.md - Tasks and groups → Task queries: loads tasks
src/pages/workspacePage/components/groups/GroupTasks.tsx - Task queries → SQLite database: queries
src/db/queries/task.ts - Workspace state → SQLite database: persists workspace data
- Tasks and groups → Note tree operations: updates note tree
- Task selection → Undo and redo: supports undoable edits
- User → Automation rules: configures rules
README.md - Automation rules → Note tree operations: applies rule actions
src/contexts/automations-context.tsx - Automation rules → Task queries: writes rule changes
src/contexts/automations-context.tsx - User → Templates: creates from templates
README.md - User → Note search: searches notes
README.md - User → Archive and trash: restores or deletes
README.md - User → Workspace transfer: imports or exports
README.md - User → Audio playback: plays attached audio
README.md - App startup and routing → Backups: starts backup
src/main.tsx - Backups → Database manager: uses database
src/db/backup.ts - Database manager → SQLite database: opens SQLite
src/db/dbManager.ts - User → Preferences and themes: customizes app
README.md