Files
sonderau ea8484fca7 Imagery imported for icons and items. Live updates working.
Hover tooltip working. Features.md added for better tracking.
2025-10-28 08:41:04 +08:00

9.8 KiB
Raw Permalink Blame History

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
  • 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%

Phase 1: Quick Wins (1-2 weeks)

  1. Skill tooltips - COMPLETE
  2. 🚧 Item tooltips - IN PROGRESS
  3. Bank display component
  4. Rune pouch display
  5. Seed vault display

Phase 2: Core Features (2-4 weeks)

  1. Items page with sorting/filtering
  2. Skills graphs / XP history
  3. Player interacting display
  4. Better loading indicators

Phase 3: Advanced Tracking (4-6 weeks)

  1. Collection log system
  2. Quest tracking
  3. Achievement diaries
  4. Search functionality

Phase 4: Advanced Features (6-8 weeks)

  1. Interactive map with player locations
  2. Multiple panel view
  3. Authentication system
  4. Group management UI

Phase 5: Polish (1-2 weeks)

  1. Setup instructions
  2. Confirm dialogs
  3. Donation/social links
  4. 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

  • 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.