9.8 KiB
9.8 KiB
Feature Implementation Status
This document tracks which features from the original group-ironmen-master project have been implemented in os-league-tools-master.
Last Updated: 2025-01-28
✅ IMPLEMENTED FEATURES
Player Stats Display
- ✅ Hitpoints, Prayer, Energy bars with gradients
- ✅ World number and online/inactive status
- ✅ Last updated timestamp
Skills Display
- ✅ All 23 skills in grid layout
- ✅ Skill boxes with current/true level display
- ✅ XP progress bars with color gradients (red→green)
- ✅ Background images (174-0.png, 175-0.png)
- ✅ Skill tooltips showing Total XP and XP until next level
- ✅ Skills reordered to match RuneLite's in-game order
- ✅ Combat level and Total level display
Inventory Display
- ✅ 4×7 inventory grid with background image
- ✅ Item images (.webp format)
- ✅ Item quantities
Equipment Display
- ✅ All 11 equipment slots with exact positioning
- ✅ Equipment background images
- ✅ Item rendering in correct slots
XP Dropper
- ✅ Animated XP gain notifications
- ✅ Skill icons with XP amounts
- ✅ Stacked display when multiple skills gain XP
- ✅ 4-second scroll-up animation
- ✅ Correct skill mapping (alphabetical order from plugin)
Group Management
- ✅ Multiple group support with localStorage
- ✅ Group token management
- ✅ Manual refresh button
- ✅ Auto-refresh every 2 seconds
- ✅ Expandable/collapsible member cards
Backend Integration
- ✅ Spring Boot backend with MariaDB
- ✅ Case-insensitive member lookups
- ✅ REST API for group data
- ✅ Data transformation from backend arrays to frontend objects
❌ MISSING FEATURES
High Priority - Core Features
1. Item Tooltips
- Status: In Progress
- Description: Show item name, High Alch value, GE price on hover
- Files Needed: ItemBox.js updates, item database integration
- Current State: No tooltips on inventory/equipment items
2. Bank Display
- Status: Not Started
- Description: Display player's bank inventory
- Files Needed: PlayerBank.js component
- Current State: Only showing equipment and inventory
- Backend: Data already available via API
3. Items Page / Consolidated Inventory
- Status: Not Started
- Description: View all items across all players with filtering and sorting
- Features:
- View all items across all players
- Sort by quantity, value, alphabetical
- Player filter dropdown
- Search/filter functionality
- Pagination (200 items per page)
- Total GE value / High Alch value calculations
- Files Needed: ItemsPage.js, InventoryItem.js, InventoryPager.js
4. Rune Pouch Display
- Status: Not Started
- Description: Special container for rune pouch contents
- Files Needed: RunePouch.js component
- Backend: Data available via rune_pouch field
5. Seed Vault Display
- Status: Not Started
- Description: Display seed vault contents
- Files Needed: SeedVault.js component
- Backend: Data available via seed_vault field
Medium Priority - Visualization & Tracking
6. Skills Graphs / XP History
- Status: Not Started
- Description: Chart.js-based skill XP trends over time
- Features:
- Time period selector (Day, Week, Month, Year)
- Multi-player comparison on same chart
- Data table showing XP gains
- Overall skill breakdown
- Files Needed: SkillsGraphs.js, SkillGraph.js
- Dependencies: Chart.js library, backend XP history API endpoint
7. Collection Log
- Status: Not Started
- Description: Track collection log completions across group
- Features:
- Collection log dialog with tabs (Bosses, Clues, Raids, PvM)
- Item completion tracking
- Which players have which items
- Completion percentages
- Files Needed: CollectionLog.js, CollectionLogTab.js, CollectionLogPage.js, CollectionLogItem.js
- Backend: Requires collection log API endpoint
8. Quest Tracking
- Status: Not Started
- Description: Track quest completion across group
- Features:
- Quest list (Free, Members, Miniquests)
- Quest completion states (Not Started, In Progress, Finished)
- Quest points total
- Search/filter quests
- Difficulty indicators
- Wiki quick guide links
- Files Needed: PlayerQuests.js, quest data JSON
- Backend: Requires quests field in API
9. Achievement Diaries
- Status: Not Started
- Description: Track achievement diary completion
- Features:
- 12 regional diaries
- Easy/Medium/Hard/Elite tier tracking
- Task-by-task completion
- Diary dialog with detailed tasks
- Files Needed: PlayerDiaries.js, DiaryCompletion.js, DiaryDialog.js, diaries data JSON
- Backend: Requires diary_vars field in API
10. Interactive Map
- Status: Not Started
- Description: Canvas-based RuneScape world map with player tracking
- Features:
- Canvas-based world map rendering
- Player location markers
- Pan and zoom functionality (1x-6x)
- Multi-plane support (ground + 3 underground levels)
- Interacting markers (NPCs/objects)
- Location icons and labels
- Touch gesture support
- Real-time coordinate display
- Files Needed: MapPage.js, CanvasMap.js, Animation.js, map tiles, sprites
- Backend: Coordinates and interacting fields already available
11. Player Interacting Display
- Status: Not Started
- Description: Show what NPC/object player is currently interacting with
- Features:
- Display NPC/object name
- NPC HP bar display
- 30-second stale timeout
- Files Needed: PlayerInteracting.js component
- Backend: Data already available via interacting field
Low Priority - UI/UX Enhancements
12. Search Functionality
- Status: Not Started
- Description: Global search for items and quests
- Files Needed: SearchElement.js component
13. Multiple Panel View
- Status: Not Started
- Description: Dashboard view showing all players simultaneously
- Files Needed: PanelsPage.js layout
14. Authentication
- Status: Not Started
- Description: User login/logout system
- Current: Using localStorage only
- Files Needed: LoginPage.js, LogoutPage.js, auth API integration
15. Group Creation Wizard
- Status: Not Started
- Description: UI for creating and managing groups
- Files Needed: CreateGroup.js, GroupSettings.js, EditMember.js
16. Setup Instructions
- Status: Not Started
- Description: Onboarding guide for new users
- Files Needed: SetupInstructions.js
17. Donation/Social Links
- Status: Not Started
- Description: Support and social media links
- Files Needed: DonateButton.js, SocialLinks.js
18. Loading Indicators
- Status: Partial
- Description: Better loading state management
- Current: Only shows "Loading..." text
- Needed: Full-screen loading spinner, LoadingScreen.js
19. Confirm Dialogs
- Status: Not Started
- Description: Confirmation modal for destructive actions
- Files Needed: ConfirmDialog.js
Infrastructure Differences
20. Data Fetching Strategy
- Current: Polling every 2 seconds with forceReload
- Original: Pub/Sub event system with WebSocket-like updates
- Trade-off: More server load vs real-time feel
- Future: Consider WebSocket implementation for true real-time updates
21. Item/Quest/Diary Data
- Status: Not Started
- Description: Comprehensive game data databases
- Needed:
- Item database with prices (High Alch, GE)
- Quest definitions database
- Diary tasks database
- Current: Minimal data models
📊 IMPLEMENTATION SUMMARY
| Category | Implemented | Total | Percentage |
|---|---|---|---|
| Core Display | 5/7 | 7 | 71% |
| Data Visualization | 1/4 | 4 | 25% |
| Tracking Systems | 0/3 | 3 | 0% |
| UI/UX Features | 2/9 | 9 | 22% |
| Overall | 8/23 | 23 | 35% |
🎯 RECOMMENDED IMPLEMENTATION ORDER
Phase 1: Quick Wins (1-2 weeks)
- ✅ Skill tooltips - COMPLETE
- 🚧 Item tooltips - IN PROGRESS
- Bank display component
- Rune pouch display
- Seed vault display
Phase 2: Core Features (2-4 weeks)
- Items page with sorting/filtering
- Skills graphs / XP history
- Player interacting display
- Better loading indicators
Phase 3: Advanced Tracking (4-6 weeks)
- Collection log system
- Quest tracking
- Achievement diaries
- Search functionality
Phase 4: Advanced Features (6-8 weeks)
- Interactive map with player locations
- Multiple panel view
- Authentication system
- Group management UI
Phase 5: Polish (1-2 weeks)
- Setup instructions
- Confirm dialogs
- Donation/social links
- WebSocket/real-time updates
📝 NOTES
Technical Debt
- Consider migrating from 2-second polling to WebSocket for better performance
- Item/quest/diary databases need to be created or imported
- Map tile assets need to be sourced from original project
Known Issues
- Auto-refresh every 2 seconds may cause high server load with many users
- No error handling for failed API requests beyond basic error messages
Future Enhancements
- Mobile-responsive design improvements
- Progressive Web App (PWA) support
- Dark/light theme toggle
- Export data functionality (CSV, JSON)
- Group comparison tools
- Notification system for milestones
🔗 RELATED FILES
- Backend:
spring-backend/src/main/java/com/osleague/groupironmen/ - Frontend Components:
os-league-tools-master/src/components/group/ - Data Models:
os-league-tools-master/src/models/ - API Client:
os-league-tools-master/src/client/group-ironmen-client.js - Redux State:
os-league-tools-master/src/store/group/
This document is maintained as features are added. Update the checkboxes and status fields as work progresses.