A modern and responsive React application for discovering video games using the RAWG API.
Game Hub allows users to browse games, filter them by platform and release date, and explore detailed information in a clean and intuitive UI.
๐ Live Demo
- ๐ Search games
- ๐ฎ Filter by platform
- ๐ Filter by genre
- ๐ Sort games (rating, popularity, release date, etc.)
- ๐ Infinite scrolling
- ๐ Dark / Light mode
- ๐ฅ Game trailers
- ๐ผ Game screenshots
- ๐ Detailed game pages
- โก Fast data fetching with caching
- โ๏ธ React
- ๐ท TypeScript
- โก Vite
- ๐ React Query (TanStack Query) โ server state management
- ๐ป Zustand โ global UI state
- ๐จ Chakra UI
- React Icons
- React Router
- RAWG Video Games Database API
- Axios
Browse games with filters and infinite scrolling.
- platform filtering
- genre filtering
- sorting
- search
- infinite scroll
Displays detailed information about a selected game.
- game description
- platforms
- publishers
- Metacritic score
- screenshots
- trailers
src
โ
โโโ assets # Images and static files
โโโ components # Reusable UI components
โโโ data # Static fallback data
โโโ entities # TypeScript interfaces
โโโ hooks # Custom React hooks
โโโ pages # Application pages
โโโ services # API logic
โโโ store # Zustand global store
โโโ theme # Chakra UI theme configuration
โ
โโโ main.tsx
โโโ routes.tsx
Used for server state management:
- data fetching
- caching
- background refetching
- pagination
- infinite scrolling
Global state management for:
- selected platform
- selected genre
- sorting
- search query
Reusable API client built with Axios that allows easy interaction with multiple endpoints.
- Fully responsive layout
- Dark mode support
- Hover animations
- Skeleton loading states
- Grid layout with Chakra UI
- React Query caching
- Infinite scrolling
- Skeleton loaders during data fetching
- Image optimization using RAWG CDN
Clone the repository:
git clone https://github.com/vasylpryimakdev/GameHub.git
cd GameHubnpm installnpm run devhttp://localhost:5173VITE_RAWG_API_KEY=your_api_key_hereparams: {
key: import.meta.env.VITE_RAWG_API_KEY,
}Documentation: https://rawg.io/apidocs
npm i -g vercel
vercelGitHub: https://github.com/vasylpryimakdev LinkedIn: https://www.linkedin.com/in/vasyl-pryimak-64a204384

