Skip to content

Latest commit

 

History

258 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game-hub

React    TypeScript    pnpm    build    website    license

A modern game discovery web app for browsing, searching, and filtering video games with a clean responsive UI powered by the RAWG API.

Features

  • 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

Tech Stack

  • 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

Screenshot

Game Hub Screenshot

Live Demo

Game-hub

Installation

Requirements

  • Node.js >= 22
  • pnpm installed globally
  • RAWG.io API key

Local Development (pnpm)

# 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

Docker

# Pull the Docker image
docker pull houssamouhra/game-hub:1

# Run the container
docker run --rm -p 3000:80 houssamouhra/game-hub:1

License

MIT License

Releases

Packages

Contributors

Languages