The Game
Monorepo for the MetaGame applications, backend and databases.
Project Board to find tasks / issues to work on: https://github.com/MetaFam/TheGame/projects/1
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/backendandpackages/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?force=true
Rebuild backend services
If your docker containers fail to start due to changes in config, you may need to rebuild the containers. This can take several minutes.
yarn docker:build
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 NextJS Web App dev mode (new)
yarn web:dev
Run Discord Bot
yarn discord-bot 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 generate
Reload Schema + Generate GraphQL Types (backend needs to be running)
yarn update-schema
yarn generate
Restart with fresh database
yarn docker:clean
yarn docker:start
Run typechecks
yarn typecheck