/TheGame

Primary LanguageTypeScriptOtherNOASSERTION

The Game

Monorepo for the MetaGame applications, backend and databases.

Guides

If you're new to the MetaGame codebase, check out the following guides to learn how to contribute.

Development

Bootstrap

Create your local .env file

cp .env.sample .env

Install Packages

yarn

Initial TS Compilation For Monorepo Packages

yarn typecheck

Run services

Start backend services

yarn docker:start
  • Runs docker containers for backend, Hasura Engine, and PostGres database
  • will auto-restart on any changes to packages/backend and packages/utils

If you are running for the first time on an empty database, once the services are running you can run the following command to populate the database with the initial dataset:

curl -X POST http://localhost:4000/actions/migrateSourceCredAccounts

Stop backend services

yarn docker:stop
  • Stops all the containers

If you want to locally start the backend server (not in Docker) for debugging purposes:

yarn backend:dev

Run web app (old)

Once the backend services are started, we can start the frontend application

yarn app:start

Run NextJS Web App dev mode (new)

yarn web:dev

Tooling

Start Hasura console

yarn hasura:console

Hasura CLI example

yarn hasura migrate status
yarn hasura migrate squash --name "<feature-name>" --from 1598417879553
yarn hasura migrate apply --version "<squash-migration-version>" --skip-execution

Hasura CLI documentation Hasura Migrations Guide

Generate GraphQL Types

yarn codegen generate

Reload Schema + Generate GraphQL Types (backend needs to be running)

yarn codegen update-schema

Restart with fresh database

yarn docker:clean
yarn docker:start

Run typechecks

yarn typecheck