Small desktop tool to automatically backup WoW Addon configuration. Built with Kotlin and Compose Multiplatform.
Find a file
Rukira ae845d422c chore: bump kotlin-logging to 8.0.4 (batch 3)
Co-authored-by: Junie <junie@jetbrains.com>
2026-08-27 10:19:46 +01:00
.gitea/issue_template Bug report template 2026-08-25 10:44:52 +01:00
.github/workflows Publish via Homebrew 2026-08-25 16:06:46 +01:00
composeApp Fixing missing http package 2026-08-25 15:33:34 +01:00
docs Hero banner 2026-08-27 09:13:23 +01:00
gradle chore: bump kotlin-logging to 8.0.4 (batch 3) 2026-08-27 10:19:46 +01:00
.gitignore Gitignore update 2026-08-24 16:23:03 +01:00
build.gradle.kts Config screen 2026-03-04 14:19:19 +00:00
gradle.properties Versioning 2026-03-04 16:02:28 +00:00
gradlew Docs 2026-08-24 15:22:22 +01:00
gradlew.bat Docs 2026-08-24 15:22:22 +01:00
INSTALL.md Brew install 2026-08-27 09:50:26 +01:00
README.md Unlicense 2026-08-25 12:47:44 +01:00
settings.gradle.kts Config screen 2026-03-04 14:19:19 +00:00
UNLICENSE Unlicense 2026-08-25 12:47:44 +01:00

WoW Backup

Installation & Download

Pre-built binaries for macOS, Windows, and Linux are provided on each release.

👉 See here for download links and step-by-step installation instructions.

Key Features

  • ⚙️ Smart Auto-Configuration: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions.
  • Automated & Scheduled Backups: Background scheduler ensures regular backups at a user-defined time.
  • 📦 Compression & History Management: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured limit.
  • 🎮 Game State Detection: Checks for running WoW processes before running backups to prevent file-locking conflicts.
  • 🔔 Native OS Notifications: Notifies the user when backups start, succeed, fail, or are skipped.
  • 🚀 Launch at Startup: Integrated with macOS LaunchAgents (~/Library/LaunchAgents/) and Windows Registry (HKCU\...\Run).
  • 🎨 Theming & Customization: Dynamic theming supporting Light/Dark mode, with configurable accent colors.

Application Data Locations

The app uses a configuration file to store user preferences. This file and runtime logs are stored in the following locations:

  • macOS: ~/Library/Application Support/WoWBackup/ (Logs: .../logs/wowbackup.log)
  • Windows: %APPDATA%\WoWBackup\ (Logs: ...\logs\wowbackup.log)
  • Linux: ~/.config/WoWBackup/ (Logs: .../logs/wowbackup.log)

Tech Stack & Architecture

  • Language & Runtime: Kotlin Multiplatform targeting Desktop (JVM, Java 17+)
  • UI Framework: JetBrains Compose Multiplatform with Material 3 Design
  • Architecture: MVVM with Kotlin Coroutines
  • Scheduling: io.github.kevincianfarini.cardiologist
  • Logging: logback-classic + kotlin-logging-jvm with daily rotation and archiving
  • Serialization: Settings stored in a JSON file using kotlinx-serialization-json
  • Theming: com.materialkolor:material-kolor for dynamic palette generation

Build & Run

Prerequisites

  • JDK 17 or higher installed

Development Run

  • macOS / Linux:
    ./gradlew :composeApp:run
    
  • Windows:
    .\gradlew.bat :composeApp:run
    

Package Application Distributions

  • macOS DMG:
    ./gradlew :composeApp:packageDmg
    
  • Windows MSI:
    .\gradlew.bat :composeApp:packageMsi
    
  • Linux DEB:
    ./gradlew :composeApp:packageDeb
    

License

This project is released into the public domain. See the UNLICENSE file or unlicense.org for details.