A comprehensive desktop application for browsing and exploring World of Warcraft (Turtle WoW) game data, built with Wails, Go, and React.
-
Items: Complete item database with detailed statistics
- Search by name, class, subclass, and inventory slot
- WoW-style tooltips with complete item information
- Icon display with local cache and CDN fallback
-
AtlasLoot Integration: Complete loot table browser
- 7 categories: Instances, Sets, Factions, PvP, World Bosses, World Events, Crafting
- Hierarchical navigation (Category → Module → Table → Items)
- Drop chance information where available
-
Creatures: Browse creature database
- Search by name and type
- Paginated results for performance
- View creature loot tables
-
Quests: Explore quest database
- Browse by zone or quest category
- View quest details and objectives
-
Spells: Search spell database
- Browse by class and skill category
- View spell effects and icons
-
Game Objects: Browse object database
- Search by name and type
- View object loot tables
-
Factions: View faction database
- Reputation and faction rewards
- Backend: Go 1.24 + Wails v2.11
- Frontend: React 18 + TypeScript + Vite
- Database: SQLite 3
- Styling: Tailwind CSS with custom WoW theme
The application supports two modes of data operation:
-
End User Mode (Default):
- Uses the embedded SQLite database (
data/shelllab.db) - Syncs missing or updated data directly from
turtlecraft.ggvia the built-in Sync Service - No external database dependencies required
- Uses the embedded SQLite database (
-
Developer Mode (Optional):
- Can connect to a local MySQL instance for custom data export
- Python export scripts available in
scripts/(Optional usage) - Useful for initial database population or large schema updates
Sync Service (backend/services/):
- Scrapes and parses data from
database.turtlecraft.gg - Supports Items, Spells, Quests, and Icons
- Multi-threaded worker pools for fast synchronization
- "AtlasLoot Missing" mode to find gaps in local data
- Go 1.24+
- Node.js 18+
- Wails v2.11+
# Clone the repository
git clone https://github.com/oplancelot/ShellLab.git
cd ShellLab
# Install dependencies
go mod download
cd frontend && npm install && cd ..
# Run in development mode
wails devOn first startup, the application will:
- Initialize the SQLite database connection
- Validate the integrity of
data/shelllab.db - Ready to use immediately
Note: You can use the Settings page in the app to update your local database with the latest changes from Turtle WoW (Sync Items, Spells, Quests, or missing AtlasLoot items).
The application uses a SQLite database with 30+ tables:
Core Tables:
item_template: Items (1:1 MySQL mapping)creature_template: Creaturesquest_template: Questsspell_template: Spellsgameobject_template: Objects
AtlasLoot Tables:
atlasloot_categories: Categoriesatlasloot_modules: Modulesatlasloot_tables: Loot tablesatlasloot_items: Loot entries
Loot Tables:
creature_loot_templateitem_loot_templategameobject_loot_templatereference_loot_templatedisenchant_loot_template
-
Sync Service (Recommended):
- Use the in-app Settings to sync data from
turtlecraft.gg. - This approach is incremental and does not require external tools.
- Use the in-app Settings to sync data from
-
Developer Export (Legacy/Full Rebuild):
- If you have a local Turtle WoW MySQL database, you can use
scripts/export_all_data.pyto dump JSONs. - Using
wails devwith no existing DB will trigger an import fromdata/*.json.
- If you have a local Turtle WoW MySQL database, you can use
Icons are automatically downloaded on-demand or via the "Auto-fix" option in Settings:
- Wowhead CDN (
wow.zamimg.com) - Primary source - Turtle WoW Database (
database.turtlecraft.gg) - Fallback - Trinity AoWoW (
aowow.trinitycore.info) - Fallback
Icons are cached in data/icons/ for offline use.
- Turtle-WoW Emulation Server Source Code: https://github.com/brian8544/turtle-wow
- Wails: Go-powered desktop apps with web UI
- SQLite: Embedded database (no server needed)
- Code Generation: Python scripts auto-generate Go code
- React Hooks: Modern state management
- Tailwind CSS: Utility-first styling
- Talent tree browser and calculator
- Equipment set manager
- Stat calculator and comparison
- DPS simulator
- Enchant and gem browser
- Character planner
- Export/import functionality
This project is for educational purposes and community use. Contributions welcome!
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Built with ❤️ for the Turtle WoW Community