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.
Let's setup the project!🥹
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=
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 npm 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!🤓
Collaborate in this repo is quite easy.
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.
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 |
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.
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.