Imagery imported for icons and items. Live updates working.
Hover tooltip working. Features.md added for better tracking.
This commit is contained in:
318
os-league-tools-master/FEATURES.md
Normal file
318
os-league-tools-master/FEATURES.md
Normal file
@@ -0,0 +1,318 @@
|
||||
# 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)
|
||||
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)
|
||||
6. Items page with sorting/filtering
|
||||
7. Skills graphs / XP history
|
||||
8. Player interacting display
|
||||
9. Better loading indicators
|
||||
|
||||
### Phase 3: Advanced Tracking (4-6 weeks)
|
||||
10. Collection log system
|
||||
11. Quest tracking
|
||||
12. Achievement diaries
|
||||
13. Search functionality
|
||||
|
||||
### Phase 4: Advanced Features (6-8 weeks)
|
||||
14. Interactive map with player locations
|
||||
15. Multiple panel view
|
||||
16. Authentication system
|
||||
17. Group management UI
|
||||
|
||||
### Phase 5: Polish (1-2 weeks)
|
||||
18. Setup instructions
|
||||
19. Confirm dialogs
|
||||
20. Donation/social links
|
||||
21. 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.*
|
||||
Reference in New Issue
Block a user