Skip to content

Latest commit

 

History

History
129 lines (88 loc) · 4.2 KB

File metadata and controls

129 lines (88 loc) · 4.2 KB

Voting Services API - Development Tasks

Current Sprint

High Priority Tasks

1. Frame SDK Authentication Security Completion

Status: In Progress (70% complete)
Description: Complete production-ready Frame SDK authentication

Remaining Work:

  • Implement token domain verification (explicit TODO in src/middleware/auth.ts:12)
  • Add signature verification against Farcaster's public keys
  • Implement token expiration validation
  • Add issuer/audience validation for Frame SDK tokens
  • Configure Frame SDK app settings and domain allowlists
  • Update tests to use actual Frame SDK tokens vs. mock JWTs

Files: src/middleware/auth.ts, tests in tests/middleware/auth.test.ts

2. Notification System Multi-Tenant Updates

Status: In Progress (60% complete)
Description: Update notification system for group-aware targeting

Remaining Work:

  • Resolve TODO comments in src/db/services/voting-service.ts:1286,1425
  • Update sendMiniAppNotification() to accept group context
  • Implement group member FID targeting instead of defaulting to all mini app users
  • Add group-specific notification preferences
  • Update notification calls in proposal submission methods

Files: src/db/services/voting-service.ts, potentially new schema additions

Medium Priority Tasks

3. Member Removal Enhancements

Status: 85-90% Complete (Core functionality working)
Description: Minor improvements to existing member removal system

Optional Improvements:

  • Add validation to prevent self-targeting (submitter can't propose own removal)
  • Add admin/owner protection logic
  • Add minimum member threshold validation
  • Prevent multiple active removal proposals for same target
  • Add member removal history endpoints

Files: src/db/services/voting-service.ts, src/routes/proposals.ts

4. Permission System Refinement

Status: Future Enhancement
Description: Consider group-scoped permissions for enhanced security

Future Work:

  • Evaluate current permission model effectiveness
  • Design group-scoped permission system if needed
  • Implement role-based access within groups
  • Add group admin/moderator roles

Completed Recently

✅ Multi-Tenant Architecture Migration

  • Complete multi-tenant schema with groups, members, group-scoped proposals and votes
  • Groups Service with full CRUD operations and criteria validation
  • Multi-tenant API with 15+ new endpoints
  • Updated Voting Service with group-scoped operations
  • Cross-group user participation support
  • XMTP integration for group chat linking
  • Comprehensive test coverage for multi-tenant functionality
  • Group analytics and participation tracking
  • GitHub Actions CI/CD pipeline

✅ Member Removal Core Implementation

  • Proposal-based member removal workflow
  • Vote assignment and collection system
  • Member status updates and cleanup
  • Comprehensive test coverage
  • API endpoints for removal proposals

Backlog

Documentation

  • API documentation updates for new multi-tenant endpoints
  • Update deployment guides with multi-tenant considerations

Performance & Monitoring

  • Add performance monitoring for large group operations
  • Optimize voter selection algorithms for large member bases
  • Add database query optimization for group operations

Testing

  • Add integration tests for complex multi-group scenarios
  • Performance testing with large datasets
  • End-to-end testing with real Frame SDK tokens

Development Guidelines

Task Management

  • Move completed tasks to "Completed Recently" section
  • Archive old completed tasks monthly
  • Link related GitHub issues when applicable
  • Update percentage completion estimates regularly

Priority Levels

  • High: Blocking functionality or security issues
  • Medium: Enhancements and improvements
  • Low: Nice-to-have features and optimizations

Status Definitions

  • Not Started: Task identified but work not begun
  • In Progress: Active development with percentage completion
  • Blocked: Waiting on external dependencies
  • Testing: Implementation complete, undergoing validation
  • Complete: Finished and merged to main branch