A sleek, dark-themed real-time gaming dashboard built with SvelteKit, TypeScript, and Tailwind CSS. Tracks player stats, match history, live activity, leaderboard rankings, and active session data โ all in one responsive interface.
gaming-dashboard/
โโโ src/
โ โโโ lib/
โ โ โโโ components/
โ โ โ โโโ dashboard/ # Core dashboard panels
โ โ โ โ โโโ StatsGrid.svelte
โ โ โ โ โโโ PlayerChart.svelte
โ โ โ โ โโโ RecentMatches.svelte
โ โ โ โ โโโ Leaderboard.svelte
โ โ โ โ โโโ LiveActivity.svelte
โ โ โ โโโ ui/ # Shared UI components
โ โ โ โโโ Sidebar.svelte
โ โ โ โโโ Toast.svelte
โ โ โ โโโ FriendsPanel.svelte
โ โ โ โโโ SessionCard.svelte
โ โ โโโ stores/
โ โ โ โโโ index.ts # Global Svelte stores + helpers
โ โ โโโ types.ts # TypeScript interfaces
โ โ โโโ utils.ts # Formatters + mock data generators
โ โโโ routes/
โ โ โโโ +page.svelte # Main dashboard page
โ โโโ app.css # Global styles + Tailwind layers
โ โโโ app.html # HTML shell
โโโ static/ # Static assets (avatars, game images)
โโโ package.json
โโโ svelte.config.js
โโโ tailwind.config.js
โโโ vite.config.ts
โโโ tsconfig.json
# Clone the repository
git clone https://github.com/your-username/gaming-dashboard.git
cd gaming-dashboard
# Install dependencies
npm install
# Start the development server
npm run dev
Open your browser at http://localhost:5173.
npm run build
npm run preview
| Technology | Purpose |
|---|---|
| SvelteKit | Full-stack framework and routing |
| TypeScript | Type safety across all components |
| Tailwind CSS | Utility-first styling |
| Vite | Build tool and dev server |
| Svelte Stores | Reactive global state management |
The dashboard uses a custom dark theme defined in tailwind.config.js and app.css:
#F5C400 (gold yellow)dark-900 โ dark-400 (#0D0D0D to #333333)All mock data lives in src/lib/utils.ts. To wire in a real backend:
generateMatches(), generateLeaderboard(), etc. with API calls in your +page.svelte load function or a SvelteKit +page.server.tssetInterval in LiveActivity.svelte and SessionCard.svelte with a WebSocket connection (e.g. Socket.io or Supabase Realtime)activityFeed, session, leaderboard) and every subscribed component will re-render automatically// Example: push a real WebSocket event into the activity feed
import { pushActivity } from '$lib/stores';
socket.on('kill_event', (data) => {
pushActivity({ type: 'kill', message: data.message });
});
npm run dev # Start development server with HMR
npm run build # Build for production
npm run preview # Preview the production build locally
npm run check # Run svelte-check for type errors
npm run check:watch # Run svelte-check in watch mode
Contributions are welcome! To get started:
git checkout -b feature/your-feature-namegit commit -m 'Add some feature'git push origin feature/your-feature-namePlease make sure npm run check passes before submitting.
This project is licensed under the MIT License.