A modular and transparent project tracking system built on the Stacks blockchain, providing flexible and secure collaboration tools for teams and organizations.
LatticeChain provides a comprehensive project management platform that leverages blockchain technology to create immutable records of project activities, task assignments, and completions. The system offers:
- Project creation and management
- Task tracking with dependencies
- Milestone management
- Team member roles and permissions
- Work logging and time tracking
- Task comments and deliverables
- Immutable activity logging
The system is built around a core smart contract that manages all project-related data and operations. Here's how the main components interact:
graph TD
A[Project] --> B[Tasks]
A --> C[Team Members]
A --> D[Milestones]
B --> E[Work Logs]
B --> F[Comments]
B --> G[Dependencies]
B --> H[Deliverables]
A --> I[Activity Log]
The main contract that handles all project management functionality.
- Project lifecycle management
- Task tracking and dependencies
- Team member management with role-based access
- Milestone tracking with completion status
- Work logging and time tracking
- Activity logging for audit trail
- Owner (highest permissions)
- Manager
- Contributor
- Viewer (lowest permissions)
- Clarinet
- Stacks wallet
- Node.js environment
- Clone the repository
- Install dependencies
clarinet install- Run tests
clarinet test(create-project (title (string-utf8 100))
(description (string-utf8 500))
(start-date uint)
(end-date uint)
(budget uint))(update-project (project-id uint)
(title (string-utf8 100))
(description (string-utf8 500))
(status uint)
(start-date uint)
(end-date uint)
(budget uint))(create-task (project-id uint)
(title (string-utf8 100))
(description (string-utf8 500))
(assignee (optional principal))
(priority uint)
(estimated-hours uint)
(start-date uint)
(due-date uint)
(milestone-id (optional uint)))(update-task-status (project-id uint)
(task-id uint)
(new-status uint))(add-team-member (project-id uint)
(member principal)
(role uint))(update-team-member-role (project-id uint)
(member principal)
(new-role uint))Run the test suite:
clarinet test- Start local chain:
clarinet integrate- Deploy contracts:
clarinet deploy-
Role-based access control
- All sensitive operations require appropriate permissions
- Owner role cannot be transferred or removed
-
Data Validation
- All inputs are validated before processing
- Status transitions are properly controlled
-
Dependency Management
- Circular dependencies are prevented
- Task dependencies must be completed before dependent tasks can start
-
State Management
- Critical state changes are atomic
- Activity logging provides audit trail
-
Known Limitations
- No bulk operations supported
- Cannot delete projects or tasks (only cancel)
- File storage must be handled off-chain