Code Monkey home page Code Monkey logo

nphivu414 / game-store-monorepo-app Goto Github PK

View Code? Open in Web Editor NEW
156.0 3.0 51.0 10.92 MB

A full-stack web & mobile app built with React/NodeJS that helps you find and discover over 500,000+ video games on your device. Powered by RAWG API.

Home Page: https://mono-game-store.netlify.app/

License: MIT License

JavaScript 2.13% TypeScript 84.79% HTML 0.13% Shell 0.13% SCSS 0.13% Starlark 0.22% Java 6.19% Makefile 0.57% C++ 2.70% Objective-C 0.89% Objective-C++ 1.35% Ruby 0.62% CMake 0.10% CSS 0.04%
react react-native styled-components tailwindcss typescript aws-lambda graphql nestjs-backend nodejs nx-workspace serverless yarn nextjs

game-store-monorepo-app's Introduction

Sponsored by Evil Martians

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
Web App Screenshot Web App Screenshot Web App Screenshot Web App Screenshot

Native App

Android iOS
Android App Screenshot iOS App Screenshot

Installation

  1. Clone the repo
    git clone https://github.com/nphivu414/game-store-monorepo-app.git
  2. Install dependencies
    yarn install
  3. Install serverless globally
    npm install -g serverless

Run Locally

  1. Go to the project directory
  cd game-store-monorepo-app
  1. Start the backend server
  yarn start:backend
  1. Start the web app

    • React Single Page App
      yarn start:web
    • NextJS App (beta)
      yarn start:next
  2. Start the iOS app (beta)

  • If you're not using M1, run
   yarn start:ios:install
  • 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)

  1. 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.

game-store-monorepo-app's People

Contributors

nphivu414 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

game-store-monorepo-app's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.