A modern game discovery web app for browsing, searching, and filtering video games with a clean responsive UI powered by the RAWG API.
- Browse trending and popular games
- Infinite scrolling game discovery experience
- Search games by title
- Filter by genre, platform, and sort order
- Detailed game pages with ratings, metadata, screenshots, and trailers
- Responsive layout for desktop and mobile
- Client-side routing with React Router for seamless navigation
- Data fetching, caching, and background refetching using React Query
- Global filter state management with Zustand
- Persistent UI state across sessions
- Automatic scroll-to-top behavior on filter changes and resets
- Loading skeletons for improved perceived performance
- Dark/light theme toggle with persistent preference
- Robust error handling for API failures
- React 19
- TypeScript
- React Router
- TanStack React Query (server state management, caching, background updates)
- Zustand (client state management)
- Axios
- TailwindCSS 4
- Shadcn UI
- Iconify
- Vite
- pnpm
- Node.js >= 22
- pnpm installed globally
- RAWG.io API key
# Clone the repository
git clone https://github.com/houssamouhra/game-hub.git
cd game-hub
# Set up environment variables
cp .env.example .env
# Edit .env to your RAWG.io API key
# Install dependencies
pnpm install
# Start the development server
pnpm dev# Pull the Docker image
docker pull houssamouhra/game-hub:1
# Run the container
docker run --rm -p 3000:80 houssamouhra/game-hub:1