Überblick
GameHubJS — Browser Gaming Platform
A Flask-powered browser gaming platform featuring 100 standalone games (51 in 2D and 49 in 3D), guest gameplay, user accounts, Google authentication, real-time chat, leaderboards, achievements, notifications, administration tools, and Stripe-powered donations.
Features
- Guest Access: Browse the homepage, access the game lobby, and play standalone games without creating an account.
- User Authentication: Email/password registration, Google OAuth, optional authenticator-based two-factor authentication (2FA) with private QR code setup, password resets, private login history, and 18 selectable local avatars.
- Leaderboards & Achievements: Global and per-game leaderboards, personal best scores, score sessions, and a registry of 100 achievements.
- Real-Time Chat: Public and private chat rooms, game-specific channels, message search, and online user counts powered by Socket.IO.
- Notifications & Feedback: In-app notifications, game ratings, structured feedback, game suggestions, bug reports, and a public contact form.
- Player Experience: Favorite games, recently played history, daily challenges, weekly tournaments with cosmetic titles, and private player statistics.
- Administration: User and game management, nine configurable homepage game slots, feedback moderation, platform analytics, and donation monitoring.
- Internationalization: Six supported languages, right-to-left (RTL) layout support, and translation catalogs.
- Progressive Web App (PWA): Web app manifest and service worker for an enhanced browser experience.
- Donations: Stripe integration for accepting donations.
Technology Stack
| Component | Implementation |
|---|---|
| Backend | Flask, Jinja2, SQLAlchemy, Flask-Migrate, Alembic |
| Database | PostgreSQL (production), SQLite (development/testing) |
| Authentication | Flask-Login, Flask-WTF, Authlib (Google OAuth) |
| Real-Time Communication | Flask-SocketIO, eventlet |
| Caching & Presence | Redis for user presence and optional broadcast queues |
| Payment Integration | Stripe Donations |
| Email Service | Resend |
| Frontend | HTML, CSS, JavaScript, HTML5 Canvas |
| 3D Game Engine | Three.js, Cannon.js |
| Internationalization | Flask-Babel, six translation catalogs |
| PWA Support | Web App Manifest, Service Worker |
| Production Server | Gunicorn, eventlet via wsgi.py |
Platform Overview
| Category | Details |
|---|---|
| Total Games | 100 |
| 2D Games | 51 |
| 3D Games | 49 |
| Guest Gameplay | Supported |
| User Accounts | Supported |
| Google Sign-In | Supported |
| Two-Factor Authentication | Optional |
| Achievement Registry | 100 achievements |
| Real-Time Multiplayer Chat | Supported |
| Leaderboards | Global and per-game |
| Daily Challenges | Supported |
| Weekly Tournaments | Supported |
| Supported Languages | 6 |
| Mobile/PWA Support | Supported |
| Donation System | Stripe |
Technologie-Stack
FlaskSocket.IOBootstrap 5 Three.jsPostgreSQL