From 88e64b25c8ca197eb4ddf2f58e4d03402828fee0 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:09:41 +0100 Subject: [PATCH] License and readme updates --- README.md | 66 ++++++++++++++++++++++--------------------------------- 1 file changed, 26 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 3db5374..b533624 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,32 @@ # WoW Backup -A lightweight, native-feeling desktop application built with Kotlin and Compose Multiplatform to automatically backup and restore World of Warcraft configuration data (WTF and Interface directories) on macOS and Windows. +A lightweight, native-feeling desktop application to automatically backup World of Warcraft configuration data (WTF and Interface directories). -## Overview +World of Warcraft stores all UI configurations, macros, keybindings, and addon data in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, and automatically performs scheduled, timestamped backups (optionally compressed as ZIP archives). -World of Warcraft stores all UI configurations, macros, keybindings, and addon saved variables in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, automatically creates scheduled, timestamped backups (optionally compressed as ZIP archives), and will provide seamless one-click restoration. +## Installation & Download + +Pre-built binaries for **macOS**, **Windows**, and **Linux** are provided on each release. + +👉 **See [here](INSTALL.md)** for download links and step-by-step installation instructions. ## Key Features -- 🛡️ **System Tray Native Life Cycle**: Lives in the menu bar / system tray with custom template icons matching light/dark OS appearances. Closing the window hides to tray; quitting is explicit. - ⚙️ **Smart Auto-Configuration**: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions. -- ⏰ **Automated & Scheduled Backups**: Background scheduler powered by Cardiologist ensures dependable daily backups at a user-defined time. -- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured retention limit (1–30 backups). -- 🎮 **Game State Detection**: Checks for active WoW processes before running backups to prevent file-locking conflicts, with optional "force backup" override and safety confirmation. -- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped due to game execution. +- ⏰ **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`). -- 🎨 **Modern Theming & Customization**: Dynamic Material 3 theming supporting System/Light/Dark modes and configurable accent colors (via MaterialKolor). -- 🔄 **Restore System (In Progress)**: Interactive restore interface to safely roll back WTF and Interface configurations. +- 🎨 **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`) --- @@ -24,22 +34,14 @@ World of Warcraft stores all UI configurations, macros, keybindings, and addon s - **Language & Runtime**: Kotlin Multiplatform targeting Desktop (JVM, Java 17+) - **UI Framework**: JetBrains Compose Multiplatform with Material 3 Design -- **Architecture**: MVI / MVVM with Kotlin Coroutines and StateFlow -- **Scheduling**: `io.github.kevincianfarini.cardiologist` for drift-free daily execution -- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and size archiving in app data directories -- **Serialization**: `kotlinx-serialization-json` for typed JSON configuration persistence +- **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 --- -## Installation & Download - -Pre-built binaries for macOS, Windows, and Linux are automatically packaged and published on each release. - -👉 **See [INSTALL.md](INSTALL.md)** for download links, step-by-step installation instructions, Gatekeeper/SmartScreen bypass guidance, and initial setup notes. - ---- - ## Build & Run ### Prerequisites @@ -71,22 +73,6 @@ Pre-built binaries for macOS, Windows, and Linux are automatically packaged and --- -## Feature Implementation Status +## License -| Feature | Plan Document | Status | Description | -|---|---|---|---| -| **0. Foundation** | `docs/plans/feature-0-foundation.md` | ✅ **Completed** | Architecture, config persistence, logging, platform abstractions | -| **1. System Tray** | `docs/plans/feature-1-system-tray.md` | ✅ **Completed** | Tray icon, menu, tray-first lifecycle, window alignment | -| **2. Configuration** | `docs/plans/feature-2-configuration.md` | ✅ **Completed** | Full settings UI, path validation, native file dialogs, startup manager | -| **3. Backup Engine** | `docs/plans/feature-3-backup.md` | ✅ **Completed** | Parallel copy, ZIP compression, scheduler, history pruning, notifications | -| **4. Status Screen** | `docs/plans/feature-4-status.md` | ✅ **Completed** | Live status dashboard, progress indicator, manual backup trigger, shortcuts | -| **5. Restore Screen** | `docs/plans/feature-5-restore.md` | 🚧 **Pending** | Backup list browser, ZIP extraction, confirmation flow, safety checks | -| **6. Release Pipeline** | `docs/plans/feature-6-release-pipeline.md` | ✅ **Completed** | GitHub Actions multi-platform release pipeline & packaging automation | - ---- - -## Application Data Locations - -- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`) -- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`) -- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`) +This project is released into the public domain. See the [LICENSE](LICENSE) file or [unlicense.org](https://unlicense.org/) for details.