Skip to content
This repository has been archived by the owner on Mar 6, 2023. It is now read-only.

lucasmedeiros/game-slot

Repository files navigation

Game Slot

About the project

With Game Slot, you can review games you've played, read other people opinions, create custom lists with the games you want and build a lovely community of gamers!

Currently, GameSlot only has access to games that are registered on Steam.

Game lists

When you log in, you can create your own lists of games you've played that exists on Steam. At any moment, you can add games to your lists, and edit them the way you want!

home page

Adding games to your lists

To add a game to a list, you can search the game by using the search bar on the top menu and clicking on Add to list... button on the game page. This will open a modal for selecting the list.

game page

Review games

You can also share to the world your feelings about a game. In the game page, there's a review section, where you can create and edit your review at any time!

game review

Running in development mode

Loved Game Slot and want to contribute for it? Nice! For running in development mode, you can follow the steps below.

To run both backend and frontend, you'll need to have both node and yarn installed in your local development machine. I highly recommend you to install node with nvm (Node Version Manager), and yarn by its official website.

First of all, you'll need to clone and install the dependencies of this repository with the commands:

git clone https://github.com/lucasmedeiros/game-slot.git
cd game-slot
yarn
yarn bootstrap

Backend configuration

This is a NodeJS / Express project and also makes calls to Steam Store API, only for getting game details. To know more about the Steam Store API, you can start by here (there isn't official documentation for it).

The database chosen for this project was MongoDB and the authentication model chosen was JSON Web Tokens. So, you'll need to define two environment variables on .env file, that should be located on this project's root folder, following the backend .env.example file:

# MongoDB URI
MONGODB_URI=

# Secret for JWT authentication
JWT_SECRET=

The MONGODB_URI variable should follow this format. And the JWT_SECRET may be any string, since it's private.

Then, run with the command:

yarn start:backend # in development mode
yarn serve:backend # in production

Frontend configuration

This is a Create React App project, so make sure you have Node 10.16.0 or later version installed on your local development machine system. Again, I highly recommend to use nvm.

You'll need to define the API URL in the .env following the frontend .env.example file:

REACT_APP_API_URL=

Then, run with the command:

yarn start:frontend # in development mode
yarn serve:frontend # build

Testing

To run all frontend tests, use:

yarn test:frontend