Game Store Monorepo
A full-stack web/mobile application that helps you find and discover over 500,000+ video games on your device. Powered by RAWG API.
Demo
React Single Page App on Netlify
NextJS App on Vercel (Beta)
Authors
Main stacks
Screenshots
Web App
Explore |
Game Details |
Games |
Genres |
|
|
|
|
Native App
Android |
iOS |
|
|
Installation
- Clone the repo
git clone https://github.com/nphivu414/game-store-monorepo-app.git
- Install dependencies
- Install serverless globally
npm install -g serverless
Run Locally
- Go to the project directory
cd game-store-monorepo-app
- Start the backend server
-
Start the web app
- React Single Page App
- NextJS App (beta)
-
Start the iOS app (beta)
- If you're not using M1, run
-
If you're on M1, first install the x86 version of the ffi gem using sudo arch -x86_64 gem install ffi
then run yarn start:ios:install:m1
(see here)
-
Use yarn start:ios for subsequent starts (it's faster since it skips pod install and uses xcode's cache)
- Start the Android app (beta)
- Run yarn start:android and the app should appear in the Android simulator
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,51 or action,indie . |
tags |
string |
Filter by tags, for example: 31,7 or singleplayer,multiplayer . |
publishers |
string |
Filter by publishers, for example: 354,20987 or electronic-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. |
Get a list of video game tags.
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. |