React frontend for FazzTools — a World of Warcraft companion app.
Displays character data (professions, equipment, mounts, pets, keybinds) synced from the Blizzard Battle.net API. Authenticates via Blizzard OAuth and communicates with the Django REST backend.
The companion backend lives at FazzToolsAPI.
- React 18, Create React App
- React Router v6
- React Bootstrap
- Docker Compose (for local dev)
1. Clone and install
npm install2. Start with Docker
docker compose upOr run directly:
npm startDev server runs at http://localhost:3000.
API URLs are configured in src/Constants.js. The config object automatically switches between dev (localhost) and prod (fazztoolsapi.ddns.net) based on NODE_ENV — no .env file needed.
Uses Blizzard OAuth (EU region):
/authredirects to Battle.net OAuth- Battle.net redirects back to
/redirectwith an auth code - The backend exchanges the code and returns a
userid useridis stored in a cookie and sent as a query param on all subsequent API requests
npm start # dev server at http://localhost:3000
npm run build # production build
npm test # run tests (watch mode)
npm test -- --watchAll=false # run tests oncefeature branches → dev → main