Web application based on Code With Mosh React 18 Intermediate course that consumes the rawg.io API to display videogames. You can check it up at: GameHub.
It was developed using the following tools:
- React.js - As the frontend library
- TypeScript - Bc everyone loves type safety
- ChakraUI - UI component library
- Axios - Data fetching
- React Query - Global state management
- Zustand - Local state management
- React router dom - Routing
and other stuff you can check in the package.json
Game hub includes some advanced (I think they are advanced haha) features that helped me learn a lot about React, some of these are:
- REST API and data fetching using a generic API client.
- Parametrized queries.
- Filtering by Genre, Platform & Sort order.
- Search by name.
- Loading skeletons.
- Pagination & Infinite scroll.
- Handle mutations.
- Caching.
- Optimistic updates.
- Global & local state.
- Dynamic routing.
- Responsive design.
- And a lot more...
React is a un-opionated library, so good practices change depending on the project or the developer. I am no expert on good practices, but for this project I tried to follow:
- SOLID Principles
- Suggested naming conventions for React
- Feature-based file structure
- And some other stuff that i've heard from podcasts that talk about Clean code.