Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/prinze-amir/koopo-plugin/archive/refs/heads/main.zipKoopo Stories: 17-Phase Development Roadmap
Here is the official project roadmap for the Stories feature, aligned to commits and enhanced with social engagement features.
📊 Current Status
| Phase | Status | Completion |
|---|---|---|
| Phase 0-8 | ✅ Complete | 100% |
| Phase 9-10 | ✅ Complete | 100% |
| Phase 11 | ✅ Complete | 100% |
| Phase 12 | ✅ Complete | 100% |
| Phase 13 | ✅ Complete | 100% |
| Phase 14-17 | 🔄 Planned | 0% |
Overall Progress: 76% (13/17 phases complete)
Latest Commit: 009 - Phase 11 Complete (Interactive Features)
Next Up: Phase 14 - Performance & Optimization
Phase 0 – Foundation & Stability ✅ COMPLETE
- Plugin bootstrap stability
- Admin menu architecture
- Widget rendering correctness
- Load order safety
- No stray output / fatals
👉 Commits: 001–003 ✅ Almost complete
Phase 1 – Stories Core Data Model ✅ COMPLETE
- Story CPT (
koopo_story) - Story Item CPT (
koopo_story_item) - Meta schema + expiration model
- Ownership + permissions rules
👉 Commits: 001–003 ✅ All CPTs, meta, and permissions implemented
Phase 2 – Seen / View Tracking ✅ COMPLETE
- Custom DB table (
story_views) - Insert + lookup logic
- Unseen detection logic
👉 Commits: 001–003 ✅ Custom table with view tracking complete
Phase 3 – REST API (API-First) ✅ COMPLETE
- Feed endpoint
- Story detail endpoint
- Seen endpoint
- Upload endpoint
- Permission callbacks
👉 Commits: 001–003 ✅ All 4 REST endpoints implemented
Phase 4 – Web UI: Stories Tray ✅ COMPLETE
- Tray renderer
- Unseen ring logic
- Ordering (unseen / recent)
- Widget + shortcode integration
👉 Commits: 001–003 ✅ Tray, widget, and shortcode complete
Phase 5 – Web UI: Viewer ✅ COMPLETE
- Fullscreen modal
- Progress bars
- Tap / swipe navigation
- Autoplay rules
👉 Commits: 001–003 ✅ Fullscreen viewer with navigation complete
Phase 6 – Uploader UX ✅ COMPLETE
- Preview before upload
- Rate limiting
- Validation
- Error handling
👉 Commits: 001–003 ✅ Upload composer with preview complete
Phase 7 – Cleanup & Expiration ✅ COMPLETE
- Cron cleanup
- Manual admin cleanup
- Orphan detection
👉 Commits: 001–003 ✅ Automated cron cleanup implemented
Phase 8 – Widget Enhancements ✅ COMPLETE
- Layout modes
- Per-widget overrides
- Sidebar UX polish
👉 Commits: 001–003 ✅ Horizontal/vertical layouts complete
Phase 9 – User Privacy & Granular Controls ✅ COMPLETE
- Per-story privacy settings (public, friends only, close friends) ✅
- Story archive (save stories beyond 24h for logged-in user) ⏸️ Deferred
- Hide story from specific users ⏸️ Deferred
- Close friends list integration ✅
👉 Commit: 005 ✅ Privacy controls implemented
- Privacy selector in upload UI (3 levels: public, friends, close friends)
- Database-backed close friends lists
- Privacy-aware permissions system
- REST API for close friends management
- User-facing close friends manager UI (shortcode)
- Privacy indicators on story bubbles
Phase 10 – Engagement: Reactions & Replies ✅ COMPLETE
- Like/reaction system (emoji picker) ✅
- Story replies (DM or comment system) ✅
- Reaction counts display ✅
- Reply notifications (BuddyBoss notifications integration) ✅
👉 Commits: 005, 006 ✅ Full engagement implementation (backend + frontend)
- Reactions database with 7 emoji types
- Replies database with DM/public modes
- 6 REST API endpoints for reactions & replies
- BuddyBoss notifications integration
- Privacy-aware reply visibility
- Frontend UI: Emoji picker modal, reply textarea modal
- UX: Reaction and reply buttons in story viewer
- Buttons hidden for own stories
Phase 11 – Interactive Features ✅ COMPLETE
- ✅ Stickers database with position tracking
- ✅ Mention sticker (@username validation)
- ✅ Link sticker (URL + title)
- ✅ Location sticker (name, coordinates, address)
- ✅ Poll sticker (question + up to 4 options)
- ✅ Poll voting system with real-time counts
- ✅ REST API endpoints for sticker CRUD
- ✅ Sticker UI in story composer
- ✅ Sticker display in story viewer
- ✅ @mention autocomplete with BuddyBoss integration
👉 Commits: 008-009 ✅ Full implementation complete
Backend:
koopo_story_stickerstable with position trackingkoopo_story_poll_votestable for voting- Support for 4 sticker types: mention, link, location, poll
- REST endpoints: add sticker, delete sticker, vote on poll
- Type-specific validation and sanitization
Frontend:
- Sticker toolbar in story composer with 4 sticker buttons
- Modal forms for adding each sticker type
- Draggable sticker positioning in composer preview
- Real-time sticker rendering in story viewer
- Interactive poll voting with live vote counts
- @mention autocomplete with avatar suggestions from BuddyBoss
- Click handlers: profile links for mentions, external links, Google Maps for locations
Phase 12 – Analytics & Insights ✅ COMPLETE
- View counts per story ✅
- Viewer list ("Seen by" feature) ✅
- Per-user "seen" state tracking ✅
- Story insights dashboard (who viewed, when) ✅
👉 Commit: 006 ✅ Full analytics implementation
- View counts integrated in get_story endpoint
/stories/{id}/viewersREST endpoint for viewer list/stories/{id}/analyticsREST endpoint for comprehensive insights- Viewer list UI modal with avatars and timestamps
- View count badge in story viewer (author-only)
- Analytics include views, reactions, and replies
- Privacy-aware (only story author can see analytics)
Phase 13 – Moderation ✅ COMPLETE
- Reporting ✅
- Admin review dashboard ✅
- Auto-hide thresholds ✅
- Flagged content queue ✅
👉 Commit: 007 ✅ Full moderation system implemented
- Reports database with status tracking
- User reporting UI with 7 report reasons
- ⚠ Report button in story viewer
- REST API for reporting and moderation
- Admin moderation dashboard with stats
- Auto-hide stories after threshold (configurable, default: 5)
- Dismiss or delete reported stories
- Audit trail with reviewer tracking
- Can't report own stories
- One report per user per story
Phase 14 – Performance
- Caching (transients for feeds)
- Query optimization
- Lazy loading for media
- CDN integration for attachments
👉 Commit: 032
Phase 15 – React Native Readiness
- Auth abstraction
- Mobile-friendly payloads
- API versioning
- Push notification hooks
👉 Commit: 033
Phase 16 – Final Polish
- Accessibility (ARIA labels, keyboard nav)
- Animations & transitions
- Edge cases & error handling
- Internationalization (i18n)
👉 Commit: 034
Phase 17 – Hardening & Release
- Security review
- Back-compat testing
- Release notes
- Documentation
👉 Commit: 035 (v1.0)
Process change (important)
Starting Commit 004, every commit will include:
- ✅ Phase number(s) in the commit notes
- ✅ Which checklist items were completed
- ✅ Which phase is next
Example:
Commit 004: Phase 0 enhancements
- Added BuddyBoss profile URL linking
- Fixed current user avatar display
Phase 0 complete, moving to Phase 9
📋 Feature Comparison: Planned vs. Industry Standard
| Feature | Koopo Stories (Planned) | ||
|---|---|---|---|
| Core Features | |||
| 24h auto-expire | ✅ | ✅ | ✅ Complete |
| Image/Video upload | ✅ | ✅ | ✅ Complete |
| Fullscreen viewer | ✅ | ✅ | ✅ Complete |
| Progress bars | ✅ | ✅ | ✅ Complete |
| Privacy | |||
| Public/Friends toggle | ✅ | ✅ | ✅ Complete |
| Close friends list | ✅ | ✅ | ✅ Complete |
| Hide from specific users | ✅ | ✅ | ⏸️ Deferred |
| Story archive | ✅ | ✅ | ⏸️ Deferred |
| Engagement | |||
| Reactions/Likes | ✅ | ✅ | ✅ Complete |
| DM replies | ✅ | ✅ | ✅ Complete |
| View counts | ✅ | ✅ | ✅ Complete |
| Viewer list | ✅ | ✅ | ✅ Complete |
| Interactive | |||
| Mentions | ✅ | ✅ | 🔄 Phase 11 |
| Link stickers | ✅ | ✅ | 🔄 Phase 11 |
| Location tags | ✅ | ✅ | 🔄 Phase 11 |
| Polls | ✅ | ✅ | 🔄 Phase 11 |
| Platform | |||
| Web support | ✅ | ✅ | ✅ Complete |
| Mobile app API | ✅ | ✅ | 🔄 Phase 15 |
| Push notifications | ✅ | ✅ | 🔄 Phase 15 |
🎯 Development Priorities
Immediate (Next 2 weeks)
- Phase 9: Privacy controls (essential for user trust)
- Phase 10: Reactions & replies (drives engagement)
Short-term (1 month)
- Phase 12: Analytics/insights (user value)
- Phase 13: Moderation tools (platform safety)
Medium-term (2-3 months)
- Phase 11: Interactive stickers
- Phase 14: Performance optimization
- Phase 15: Mobile API readiness
Long-term (3+ months)
- Phase 16: Polish & accessibility
- Phase 17: Security audit & v1.0 release
📝 Notes
- Privacy features (Phase 9) are critical before public launch
- Engagement features (Phase 10) should come before analytics
- Performance optimization (Phase 14) can run parallel with feature development
- All phases maintain backward compatibility with existing stories