This project is archived! QuestLogger was a fun project to learn macOS development but my heart is not in building a desktop-only game catalog/backlog tool with potentially costly API access. 🙁
A macOS application for managing you video game collection. Written in SwiftUI, and uses IGDB as a data source.
- An Intel or Apple Silicon Mac running MacOS 13 Ventura or later
The suggested method for installing QuestLogger is through Homebrew.
- Add the 'ghall89/tap' tap with
brew tap ghall89/tap - Install QuestLogger with
brew install --cask questlogger
Alternatively, you can manually download the latest release of QuestLogger.
Follow the instructions here if you don't already have a Twitch developer account.
In order to fully utilize the app's features, you will need to enter your Twitch client ID and client secret by going to QuestLogger → Settings... in the app's menu bar, or with the following keyboard shortcut: ⌘ + ,.
- MacOS 13+
- Xcode 14.3+
- An Apple Developer Account
- Clone this repo with
git clone [email protected]:ghall89/questlogger-mac.git - Open
QuestLogger.xcodeprojfrom the project directory - Wait for package dependencies to download
- From the menubar, go to
Product → Archive - When archive is complete, click
Distribute Appand select eitherDirect DistributionorCustomand follow the prompts
The QuestLogger library format is a package containing a JSON file to store the data for the user's game library, as well as an img directory with related PNG graphics:
📄 Library.quest
├ 📄 game_collection.json
└ 📁 img
├ 📄 co1qve.png
├ 📄 co4ocq.png
└ 📄 co5vmg.png
By default, the file is stored in the Documents directory of QuestLogger's sandbox container, located in ~/Library/Containers/QuestLogger/.
QuestKit is a Swift Package that handles QuestLoggers data structures, as well as any related functions, including API calls and managing the Library.quest file. You can find out more in the readme.
MIT License
Copyright (c) 2023 Graham Hall
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.