Wycz - Documentation détaillée
Architecture
graph TD
subgraph "Frontend (HTML/CSS/JS)"
Public[public/]
Admin[admin.html]
App[app.js]
Model3D[model3d.js]
end
subgraph "Backend (Express ESM)"
Server[server.js]
Auth[src/auth.js]
Config[src/config.js]
end
subgraph "Services"
Scheduler[scheduler.js<br/>Cron jobs]
Fetcher[fetcher.js<br/>Data refresh]
Blizzard[blizzard.js<br/>API Blizzard]
RaiderIO[raiderio.js<br/>Raider.IO API]
Wago[wago.js<br/>Wago API]
ModelViewer[modelviewerProxy.js]
end
subgraph "Base de données"
SQLite[(SQLite<br/>better-sqlite3)]
end
Public --> App
Public --> Admin
Public --> Model3D
App -->|API calls| Server
Admin -->|API calls| Server
Server --> Auth
Server --> SQLite
Scheduler --> Fetcher
Fetcher --> Blizzard
Fetcher --> RaiderIO
Fetcher --> Wago
Model3D --> ModelViewer
Fonctionnalités
Site Portfolio WoW
- Affichage des personnages et guildes
- Statistiques Raider.IO (scores mythic+)
- Données Blizzard API (armure, achievements)
- Intégration Wago (WeakAuras, addons)
- Visualisation 3D des personnages (modelviewer)
Administration
- Interface admin sécurisée (mot de passe)
- Gestion des données affichées
- Configuration du scheduler
Scheduler
- Tâches cron pour rafraîchir les données
- Mise à jour automatique des scores Raider.IO
- Sync avec l'API Blizzard
Model Viewer Proxy
- Proxy vers les assets 3D de Blizzard
- Rendu 3D des personnages en jeu
Variables d'environnement
| Variable | Description |
|---|---|
PORT |
Port du serveur (3004) |
ADMIN_PASSWORD |
Mot de passe admin |
SESSION_SECRET |
Secret de session Express |
DATA_DIR |
Répertoire de données SQLite |
Développement
cd backend
npm install
node src/server.js # Express sur :3004