Game Store Monorepo
A full-stack web app built with NestJS and ReactJS that helps you find and discover over 500,000+ video games on your device. Powered by RAWG API.
Authors
@nphivu414
Built With
Nx
NestJS
ReactJS
Apollo GraphQL
RAWG Video Games Database API
Screenshots
Demo
Game store on Netlify
Installation
- Clone the repogit clone https://github.com/nphivu414/game-store-monorepo-app.git
 
- Install dependenciesyarn install
 
Run Locally
- Go to the project directory
  cd game-store-monorepo-app
- Start the NodeJS server
  yarn nx serve nestjs-app
- Start the ReactJS web app
  yarn nx serve web-app
- Start exploring GraphQL Playground at http://localhost:3333/graphql and Game Store Web App at http://localhost:4200/
GRAPHQL API Reference
Get a list of games
query allGames {
    allGames(page: 1, pageSize: 5) {
        nextPage
        results {
            id
            name
            backgroundImage
            rating
        }
    }
}
| Parameter | Type | Description | 
| page | number | A page number within the paginated result set. | 
| pageSize | number | Number of results to return per page. | 
| date | string | Filter by a release date, for example: 2010-01-01,2018-12-31. | 
| genres | string | Filter by genres, for example: 4,51oraction,indie. | 
| tags | string | Filter by tags, for example: 31,7orsingleplayer,multiplayer. | 
| publishers | string | Filter by publishers, for example: 354,20987orelectronic-arts,microsoft-studios. | 
| search | string | Search by names | 
Get a list of games that are part of the same series.
query gameSeries {
    gameSeries(page: 1, pageSize: 5) {
        nextPage
        results {
            id
            name
            backgroundImage
            rating
        }
    }
}
| Parameter | Type | Description | 
| page | number | A page number within the paginated result set. | 
| pageSize | number | Number of results to return per page. | 
| id | number | Game ID. | 
Get details of the game.
query gameDetails {
    gameDetails(id: 3498) {
        id
        name
        backgroundImage
        rating
        platforms {
            platform {
            id
            name
            image
            imageBackground
            }
            releasedAt
        }
    }
}
| Parameter | Type | Description | 
| id | number | Game ID. | 
Get a list of video game genres.
query allGenres {
    allGenres(page: 1, pageSize: 10) {
        nextPage
        results {
            id
            name
            thumbnailImage
            games {
                id
                name
            }
        }
    }
}
| Parameter | Type | Description | 
| page | number | A page number within the paginated result set. | 
| pageSize | number | Number of results to return per page. | 
query allTags {
    allTags(page: 1, pageSize: 10) {
        nextPage
        results {
            id
            name
            thumbnailImage
            games {
                id
                name
            }
        }
    }
}
| Parameter | Type | Description | 
| page | number | A page number within the paginated result set. | 
| pageSize | number | Number of results to return per page. | 
Get a list of video game publishers.
query allPublishers {
    allPublishers(page: 1, pageSize: 10) {
        nextPage
        results {
            id
            name
            thumbnailImage
            games {
                id
                name
            }
        }
    }
}
| Parameter | Type | Description | 
| page | number | A page number within the paginated result set. | 
| pageSize | number | Number of results to return per page. |