GuildBoard is a modern, scalable frontend application built with Angular for managing and displaying World of Warcraft guild data in real time.
- Real-time data synchronization with Blizzard API and Raider.io
- Battle.net OAuth2 authentication
- Guild roster and member statistics
- Raid progression with segmented boss progress bars
- Top Mythic+ dungeon runs and affix tracking
- Responsive design for desktop and mobile
- Frontend: Angular 20, TypeScript
- Styling: TailwindCSS
- State Management: RxJS observables
- Backend: NestJS + Supabase (separate repository)
- CI/CD: GitHub Actions, Vercel (frontend)
- Node.js 20+ and npm (or yarn)
- Angular CLI globally installed:
npm install -g @angular/cli
-
Clone the repo:
git clone https://github.com/TomasPlatero/guildboard.git cd guildboard
-
Install dependencies:
npm install
-
Configure environment:
- Copy
src/environments/environment.example.ts
tosrc/environments/environment.ts
- Add your Blizzard API credentials and Raider.io key.
- Copy
-
Serve locally:
ng serve
-
Open http://localhost:4200 in your browser.
Environment variables live in src/environments/environment.ts
:
export const environment = {
production: false,
blizzard: {
clientId: 'YOUR_BLIZZARD_CLIENT_ID',
clientSecret: 'YOUR_BLIZZARD_CLIENT_SECRET',
},
raiderioApiKey: 'YOUR_RAIDERIO_API_KEY',
apiBaseUrl: 'https://api.guildboard.dev'
};
ng serve
– run dev servernpm run lint
– run ESLintnpm run format
– run Prettiernpm test
– run unit tests
See the Contribution Guide in the wiki for guidelines and code standards.
- Report vulnerabilities to
taplatero@outlook.es
. - See SECURITY.md for policy.
This project is licensed under the MIT License. See the LICENSE file for details.