A decentralized task management system built on the Sui blockchain, featuring role-based access control, encrypted content storage via Walrus, and SUI token rewards. This project enables secure, collaborative task management with on-chain verification and incentivization mechanisms.
Create a transparent, secure, and incentive-driven task management platform that leverages blockchain technology to ensure accountability, privacy, and fair compensation.
- Website: https://task-os.netlify.app/
- Network: Sui Testnet
NEXT_PUBLIC_PACKAGE_ID=0x569d476a856fbc14b8ac0b9257b29acb9c387c7ab12fc2bdcfdb8468d7fceb50
NEXT_PUBLIC_TASKS_REGISTRY_ID=0x35d8fde26d1523a57770ef454599abe498f33037f8f8fc1060f2ba5fbf5eff2c
NEXT_PUBLIC_PUBLISHER_ID=0x1db60018d17bb570f965f5c1761f8a6c147ab63496558f072a4bea881efa6de4
NEXT_PUBLIC_VERSION_ID=0xecc97019e6e77004b3b614cd8010dd44f2a3797d3a8cf064c5b7a7f2ad72b9bdExplorer Links:
Frontend:
- Next.js 16 (React 19)
- TypeScript
- Tailwind CSS
- Radix UI Components
- TanStack Query for state management
- @mysten/dapp-kit for Sui integration
Blockchain:
- Sui Blockchain
- Move Smart Contracts
- Walrus Storage for encrypted content
- Seal Protocol for identity-based encryption
Key Libraries:
- @mysten/sui - Sui TypeScript SDK
- @mysten/walrus - Walrus storage integration
- @dnd-kit - Drag and drop functionality
- recharts - Data visualization
1.1 Task Creation
- Fields:
- Title (required, max 200 chars)
- Description (required, max 2000 chars)
- Category (required, max 50 chars)
- Tags (optional, max 10 tags, 30 chars each)
- Priority (Low/Medium/High/Critical)
- Due Date (optional)
- Image URL (optional)
- Technical: Each task is an owned object on Sui blockchain
- Registry: Tasks are indexed by status in a shared TaskRegistry for efficient querying
1.2 Task Updates
- Update basic info (title, description)
- Change priority, status, category, due date
- Add/remove tags
- Archive tasks (soft delete)
- Delete tasks (hard delete, owner only)
1.3 Task Status Workflow
- TODO โ IN PROGRESS โ COMPLETED โ APPROVED โ ARCHIVED
- Approval is a distinct on-chain step that triggers reward release
- Status changes automatically update TaskRegistry indices
- Real-time sync across all collaborators
2.1 Role Hierarchy
- Owner (Level 3): Full control including deletion and access management
- Editor (Level 2): Can edit tasks and add comments
- Viewer (Level 1): Read-only access
2.2 Access Management
- Share tasks with multiple users
- Assign specific roles to collaborators
- Update or revoke user permissions
- Owner cannot be removed or demoted
3.1 Content Encryption
- Upload encrypted task content to Walrus
- Store blob IDs on-chain (content, attachments, completed result)
- Integrate with Seal protocol for IBE (Identity-Based Encryption)
3.2 File Attachments
- Support multiple file uploads
- Store encrypted file blob IDs
- Access control via blockchain verification
3.3 Decryption Flow
- Verify user access via smart contract
- Use Seal IBE for secure decryption
- Namespace-based access control
4.1 Comment Operations
- Add comments (Editor+ access required)
- Edit own comments
- Delete comments (author or owner)
- Track comment creation and edit timestamps
4.2 Comment Structure
- Author address
- Content (max 1000 chars)
- Created timestamp
- Last edited timestamp
5.1 Reward Deposit
- Owners can deposit SUI tokens as task rewards
- Track individual depositor contributions
- Prevent deposits after task completion
5.2 Assignee Management
- Set task assignee
- Only one assignee per task
- Assignee eligible for reward upon completion
5.3 Reward Distribution
- Owner approves task completion (status moves to APPROVED)
- Automatic reward transfer to assignee
- One-time approval (cannot re-approve)
5.4 Refund Mechanism
- Cancel task and refund all deposits
- Proportional refunds to all depositors
- Automatic refund on task deletion or archival
6.1 TaskRegistry
- Shared object for indexing tasks by status
- Efficient on-chain queries for task discovery
- Status-based task lists
6.2 Query Functions
- Get tasks by status
- Count tasks by status
- Real-time updates via events
- Generate Experience NFTs from approved tasks with Walrus/Seal references
- List experience data for sale with license types and copy limits
- Purchase flow emits on-chain events and tracks access provisioning
- SEAL policies support private, allowlist, and subscription access patterns
- Ratings and price updates supported post-mint
- String length limits enforced on-chain
- Priority and status value validation
- Role permission checks
- Prevent self-sharing and owner removal
- Permission checks on every mutation
- Creator always has owner privileges
- Dynamic field storage for access control lists
- Balance tracking for deposits
- Prevent double-approval of rewards
- Refund mechanism for cancelled tasks
- Amount validation (no zero deposits)
- Task Manager: Main dashboard with drag-and-drop
- Task Cards: Visual task representation
- Create/Update Forms: Task CRUD operations
- Share Dialog: Access management UI
- Comments Section: Threaded discussions
- Reward Panel: Deposit and approval interface
- Walrus Upload: Encrypted file management
- Dark mode support
- Responsive design
- Real-time updates
- Toast notifications
- Data tables with sorting/filtering
{
id: UID,
creator: address,
title: String,
description: String,
image_url: String,
content_blob_id: Option<String>,
file_blob_ids: vector<String>,
result_blob_id: Option<String>,
created_at: u64,
updated_at: u64,
due_date: Option<u64>,
priority: u8,
status: u8, // 0 TODO, 1 IN_PROGRESS, 2 COMPLETED, 3 APPROVED, 4 ARCHIVED
visibility: u8, // 0 private, 1 team, 2 public
category: String,
tags: vector<String>
}- AccessControl: Role mappings
- Comments: Comment history
- RewardBalance: SUI token balance
- Deposits: Individual deposit tracking
- Assignee: Task assignee address
- CompletionApproved: Approval status
- Node.js 20+
- pnpm (recommended)
- Sui Wallet (for blockchain interactions)
- Sui CLI (for Move contract deployment)
- Copy environment template:
cp .env.example .env.local- Configure environment variables:
NEXT_PUBLIC_PACKAGE_ID=<your_package_id>
NEXT_PUBLIC_VERSION_ID=<your_version_object_id>
NEXT_PUBLIC_TASKS_REGISTRY_ID=<your_task_registry_id>See SETUP.md for detailed deployment instructions.
pnpm install
pnpm devOpen http://localhost:3000 in your browser.
cd move/task_manage
sui move build
sui client publish --gas-budget 100000000# Move contract tests
cd move/task_manage
sui move test
# TypeScript E2E tests
pnpm test- Access control tests
- CRUD operation tests
- Reward system tests
- Walrus integration tests
- Task creation workflow
- Comment system
- Update operations
- Access sharing
โโโ app/ # Next.js app directory
โ โโโ dashboard/ # Main dashboard
โ โโโ login/ # Authentication
โ โโโ walrus/ # Walrus integration demo
โโโ components/ # React components
โ โโโ task-manager/ # Task management components
โ โโโ ui/ # Reusable UI components
โโโ move/ # Sui Move contracts
โ โโโ task_manage/
โ โโโ sources/ # Move source files
โ โโโ tests/ # Move tests
โโโ e2e/ # End-to-end tests
โโโ hooks/ # Custom React hooks
โโโ lib/ # Utility libraries
โโโ types/ # TypeScript type definitions
- User connects wallet
- Fills task form with required fields
- Transaction submitted to blockchain
- Task object created and assigned to user
- Task indexed in TaskRegistry
- TaskCreated event emitted
- Owner shares task with collaborators
- Assigns appropriate roles (Viewer/Editor/Owner)
- Collaborators can view/edit based on permissions
- Comments and updates sync on-chain
- Access can be revoked by owner
- Owner deposits SUI reward into task
- Owner assigns task to user
- Assignee completes work
- Assignee updates status to COMPLETED
- Owner approves completion
- Reward automatically transferred to assignee
- Freelance Work: Escrow-based task completion with automatic payments
- Team Projects: Collaborative task management with role-based access
- Bounty Programs: Public tasks with SUI rewards
- Project Management: Secure, transparent task tracking
- DAO Operations: Decentralized task assignment and compensation
- Multi-assignee support
- Milestone-based payments
- Task templates
- Advanced search and filtering
- Mobile app
- Integration with more wallets
- NFT-based task achievements
- Reputation system
- Task dependencies and sub-tasks
- Calendar view and notifications
- Setup Guide - Detailed environment configuration
- Move Contract Documentation - Smart contract details
- Sui Documentation - Sui blockchain docs
- Walrus Documentation - Walrus storage docs
This project was built by:
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is built for hackathon purposes. Please check with the repository owner for licensing details.
For setup issues, see SETUP.md troubleshooting section.
For bugs or feature requests, please open an issue on GitHub.
Built with โค๏ธ on Sui Blockchain




