WoWAnalyzer is a tool to help you analyze and improve your World of Warcraft raiding performance through various relevant metrics and gameplay suggestions.
We're working hard on Dragonflight support right now! Check out the wiki to see how you can contribute!
This guide is an excellent introduction and explains all the jargon we may use: https://medium.com/clarifai-champions/99-pr-oblems-a-beginners-guide-to-open-source-abc1b867385a
If you ever get stuck or want to have a chat, join us on our Discord server. We love to hear what you're (going to be) working on!
Our docs aren't very good, but we have a really fun and helpful developer community on Discord. So please consider joining and reaching out if you need help. Be bold!
First make sure you have the following:
- git
- Optional: Get a UI such as Fork or TortoiseGit
- Node.js. We recommend the LTS version.
- Yarn 1
Now you need to pull a copy of the codebase onto your computer. Make a fork of the repo by clicking the Fork button at the top of this page. Next, click the green button Clone or download and copy your Clone with HTTPS URL, and then run the command git clone <paste link>
. This will take a minute.
When cloning finishes, open a command window to the source and run the command yarn
. This will take a minute or two the first time. While it's running, copy the .env.local.example
file in the project root, and name it .env.local
. Now you need to fill the WCL API key. To get your key, login to Warcraft Logs and go to your profile. Scroll to the bottom, enter the V1 Client Name "WoWAnalyzer (development)" (this is required) and copy the V1 Client Key, then replace INSERT_YOUR_OWN_API_KEY_HERE
in .env.local
with this key.
Optionally if you're on a bash compatible machine, you can run scripts/setup
for an interactive setup of this application.
Once all that's done you're ready to fire up the development server! Just run the command yarn start
in the project root. The first start may take a few minutes as it has to compile everything. This does get cached, so that any code changes while the server is already running will be compiled much quicker.
Alternatively there's a Docker container available so you don't have to install any software other than Git (and your IDE with its dependencies which likely includes Node.js). Follow the above steps, skipping all `yarn` commands, and then fire up the Docker container with docker-compose up dev (first start might take a few minutes). Just like the regular development environment it will automatically recompile your code and refresh your browser whenever you make changes to the code so long as it is running. The app will be available at http://localhost:3000/. |
If you are getting Error: Invalid key specified
, ensure your key is correct in .env.local
and restart yarn start
after changing the file so the new value is loaded (.env files are cached).
If you are getting an error about a missing module or library you might have to update your dependencies. Run yarn install
or docker-compose build dev
if you're using the Docker container. Make sure there's no running yarn start
or yarn test
when you do as they might lock files.
See the contributing guidelines for further information.