Skip to content

Digital Seven Wonders implementation using Elm, Golang and Rust

License

Notifications You must be signed in to change notification settings

Szetty/seven_wonders

Repository files navigation

Seven Wonders Digital version

CI Heroku

Prerequisites

Development

Core

In core folder:

cargo build
cargo test

Backend old

In backend folder:

go run main.go

Run tests:

ACCESS_TOKEN="TEST" JWT_SECRET="test" go test -v -race ./...

Backend new

In backend folder:

iex -S mix

Run tests:

ACCESS_TOKEN="TEST" JWT_SECRET="test" go test -v -race ./...

Frontend

In websocket-client folder:

npm install
npm run build

In frontend folder:

npm install
elm make
elm-app start

Deployment

bin/build.sh
bin/run.sh

Generate Protobuf modules

The communication between the backend and core happens using binary encoding using Protobuf.

Backend

To generate protobuf modules, use the Mix task provided:

mix gen_proto ping.proto

Core

To generate protobuf modules, use the Cargo make task provided:

cargo make gen_proto start_game.proto