Skip to content

x-team/GamesHQ-FE

Repository files navigation


Markdownify
Games Admin panel

What is it?

Headquarters of the games interactions. Games Admin Panel is basically a publishing tool to connect new browser games with the XTU ecosystem.

The admin panel let game developers integrate their games with the XTU world. It lets them create game key pairs, leaderboards, achievements, monitor statistics, between others.

The app also works great for XTeam Admins letting them create and manage The arena, and the Tower game rounds, new items, monitor games, between others.

📑Contents

📦Tech Stack

🔎Requirements

🚀Project

Let's setup the project!🥹

🔒Environmental Variables

The APP needs some env vars to work properly. You can ask @ccmoralesj for this.

Just grab the .env.example file and copy everything into a new file called .env. It will look something like this at first.

# FRONTEND
REACT_APP_GAMESHQ_API_URL="http://127.0.0.1:3000"

# FIREBASE
REACT_APP_FIREBASE_API_KEY=
REACT_APP_FIREBASE_AUTH_DOMAIN=
REACT_APP_FIREBASE_DATTABASE_URL=
REACT_APP_PROJECT_ID=
REACT_APP_STORAGE_BUCKET=
REACT_APP_MESSAGING_SENDER_ID=
REACT_APP_APP_ID=

🖼️Run App

We are almost there with the setup.🥲 Now it's time to run the API to connect the APP with. You can go to Games API repo and follow the README to setup you own API, or you can connect with the staging API:

https://gameshq-api-staging.x-team.com

Now let's run the FE APP. 🎉

First, make sure you're using our recommended version of Node and yarn by running these commands:

nvm use

Following up, we have to install all required dependencies to run the project:

npm i --legacy-peer-deps
# We use legacy peer deps due to a compatibility issue in React at the moment

Finally, run the API first and then the application with the following command:

npm start

The APP should be up and running 🎉at port 3001!🎉 You can verify by browsing to http://localhost:3001

Let's start coding!🤓

(GIF: Wait for it...) App Running

🫂How to contribute

Collaborate in this repo is quite easy.

📊JIRA

You only need to pick up a ticket from the JIRA board (If you don't have access you can ask @ccmoralesj)

Each JIRA ticket has an identifier based on a code and a number like XTG-123 which you will use later.

💾Commits

Each commit you do needs to have the JIRA ticket identifier so it can be related to the board.

You can use this commit format suggestion.

:optional-emoji: XTG-123: New endpoint to handle login
Emoji Description
🚀 New features, or enhancements to code
🐞 Bug fixes
⚙️ Refactors
📦 Build files, dependencies, config files
🔎 Minor fixes, typos, imports, etc
🪄 Others

Commit Example

🕵🏻Pull Requests

Once you're ready. You can create a new Pull Request (PR) by adding the JIRA ticket identifier in the title. The repo will give you a template to fill in the details of your amazing work!

You can use this PR title format suggestion.

XTG-123: Login

You'll need at least 1 review from your teammates to merge the pull request.

🪄Continous Integration

This project is connected to an EC2 instance from AWS.

All code from main branch will be deployed to staging.

To deploy to production you must create a new release and follow the semantic versioning fundamentals. That will trigger an automated deployment to production.