├── .babelrc ├── .dockerignore ├── .gitignore ├── .nvmrc ├── Dockerfile ├── LICENSE.md ├── Makefile ├── README.md ├── __tests__ ├── api_messages_test.re └── messages_test.re ├── bsconfig.json ├── docker-compose.yml ├── dune-project ├── package.json ├── perftest ├── go.mod ├── go.sum └── main.go ├── public └── favicon.ico ├── script ├── code.rb ├── db_env.sh ├── docker_build_publish.sh ├── dump_structure.sh ├── mercury_export.sh ├── psql.sh ├── reload_db.sh └── run.sh ├── setml.opam ├── sql └── schema.sql ├── src ├── client │ ├── Board.re │ ├── CanvasUtils.re │ ├── CardRender.re │ ├── ClientApiMessages.re │ ├── ClientMessages.re │ ├── ClientUtil.re │ ├── ConsecutiveSnackbars.re │ ├── Drawer.re │ ├── Footer.re │ ├── Game.re │ ├── GameLayout.re │ ├── GameTop.re │ ├── Grid.re │ ├── Index.re │ ├── NameDialog.re │ ├── PlayAgainButton.re │ ├── PlayerGamesList.re │ ├── PlayerScores.re │ ├── Rect.re │ ├── Selected.re │ ├── Sidebar.re │ └── WinDialog.re ├── server │ ├── clients.ml │ ├── clients.mli │ ├── config.ml │ ├── config.mli │ ├── crypto.ml │ ├── crypto.mli │ ├── db.ml │ ├── db.mli │ ├── dune │ ├── file_server.ml │ ├── info.ml │ ├── pubsub.ml │ ├── pubsub.mli │ ├── route.ml │ ├── server_api_messages.ml │ ├── server_messages.ml │ ├── server_util.ml │ ├── session.ml │ ├── setml.ml │ └── templates.ml ├── server_test │ ├── api_messages_tests.ml │ ├── base_conv_tests.ml │ ├── card_tests.ml │ ├── clients_tests.ml │ ├── combinatorics_tests.ml │ ├── crypto_tests.ml │ ├── db_tests.ml │ ├── dune │ ├── messages_tests.ml │ ├── pubsub_tests.ml │ ├── server_util_tests.ml │ ├── test_async.ml │ ├── test_processes.ml │ ├── test_sequential.ml │ └── test_util.ml └── shared │ ├── api_messages.ml │ ├── base_conv.ml │ ├── base_conv.mli │ ├── card.ml │ ├── card.mli │ ├── combinatorics.ml │ ├── dune │ ├── game_status.ml │ ├── messages.ml │ ├── messages_util.ml │ ├── path_data.ml │ ├── shared_util.ml │ ├── theme.ml │ └── theme.mli └── webpack.config.js /.babelrc: -------------------------------------------------------------------------------- 1 | { "presets": ["env"] } 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | _build 2 | node_modules 3 | bin 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/.gitignore -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 9.10.1 2 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/README.md -------------------------------------------------------------------------------- /__tests__/api_messages_test.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/__tests__/api_messages_test.re -------------------------------------------------------------------------------- /__tests__/messages_test.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/__tests__/messages_test.re -------------------------------------------------------------------------------- /bsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/bsconfig.json -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 1.2) 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/package.json -------------------------------------------------------------------------------- /perftest/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/perftest/go.mod -------------------------------------------------------------------------------- /perftest/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/perftest/go.sum -------------------------------------------------------------------------------- /perftest/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/perftest/main.go -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /script/code.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/code.rb -------------------------------------------------------------------------------- /script/db_env.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/db_env.sh -------------------------------------------------------------------------------- /script/docker_build_publish.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/docker_build_publish.sh -------------------------------------------------------------------------------- /script/dump_structure.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/dump_structure.sh -------------------------------------------------------------------------------- /script/mercury_export.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/mercury_export.sh -------------------------------------------------------------------------------- /script/psql.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/psql.sh -------------------------------------------------------------------------------- /script/reload_db.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/reload_db.sh -------------------------------------------------------------------------------- /script/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/script/run.sh -------------------------------------------------------------------------------- /setml.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/setml.opam -------------------------------------------------------------------------------- /sql/schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/sql/schema.sql -------------------------------------------------------------------------------- /src/client/Board.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Board.re -------------------------------------------------------------------------------- /src/client/CanvasUtils.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/CanvasUtils.re -------------------------------------------------------------------------------- /src/client/CardRender.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/CardRender.re -------------------------------------------------------------------------------- /src/client/ClientApiMessages.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/ClientApiMessages.re -------------------------------------------------------------------------------- /src/client/ClientMessages.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/ClientMessages.re -------------------------------------------------------------------------------- /src/client/ClientUtil.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/ClientUtil.re -------------------------------------------------------------------------------- /src/client/ConsecutiveSnackbars.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/ConsecutiveSnackbars.re -------------------------------------------------------------------------------- /src/client/Drawer.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Drawer.re -------------------------------------------------------------------------------- /src/client/Footer.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Footer.re -------------------------------------------------------------------------------- /src/client/Game.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Game.re -------------------------------------------------------------------------------- /src/client/GameLayout.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/GameLayout.re -------------------------------------------------------------------------------- /src/client/GameTop.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/GameTop.re -------------------------------------------------------------------------------- /src/client/Grid.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Grid.re -------------------------------------------------------------------------------- /src/client/Index.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Index.re -------------------------------------------------------------------------------- /src/client/NameDialog.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/NameDialog.re -------------------------------------------------------------------------------- /src/client/PlayAgainButton.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/PlayAgainButton.re -------------------------------------------------------------------------------- /src/client/PlayerGamesList.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/PlayerGamesList.re -------------------------------------------------------------------------------- /src/client/PlayerScores.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/PlayerScores.re -------------------------------------------------------------------------------- /src/client/Rect.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Rect.re -------------------------------------------------------------------------------- /src/client/Selected.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Selected.re -------------------------------------------------------------------------------- /src/client/Sidebar.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/Sidebar.re -------------------------------------------------------------------------------- /src/client/WinDialog.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/client/WinDialog.re -------------------------------------------------------------------------------- /src/server/clients.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/clients.ml -------------------------------------------------------------------------------- /src/server/clients.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/clients.mli -------------------------------------------------------------------------------- /src/server/config.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/config.ml -------------------------------------------------------------------------------- /src/server/config.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/config.mli -------------------------------------------------------------------------------- /src/server/crypto.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/crypto.ml -------------------------------------------------------------------------------- /src/server/crypto.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/crypto.mli -------------------------------------------------------------------------------- /src/server/db.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/db.ml -------------------------------------------------------------------------------- /src/server/db.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/db.mli -------------------------------------------------------------------------------- /src/server/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/dune -------------------------------------------------------------------------------- /src/server/file_server.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/file_server.ml -------------------------------------------------------------------------------- /src/server/info.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/info.ml -------------------------------------------------------------------------------- /src/server/pubsub.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/pubsub.ml -------------------------------------------------------------------------------- /src/server/pubsub.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/pubsub.mli -------------------------------------------------------------------------------- /src/server/route.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/route.ml -------------------------------------------------------------------------------- /src/server/server_api_messages.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/server_api_messages.ml -------------------------------------------------------------------------------- /src/server/server_messages.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/server_messages.ml -------------------------------------------------------------------------------- /src/server/server_util.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/server_util.ml -------------------------------------------------------------------------------- /src/server/session.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/session.ml -------------------------------------------------------------------------------- /src/server/setml.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/setml.ml -------------------------------------------------------------------------------- /src/server/templates.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server/templates.ml -------------------------------------------------------------------------------- /src/server_test/api_messages_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/api_messages_tests.ml -------------------------------------------------------------------------------- /src/server_test/base_conv_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/base_conv_tests.ml -------------------------------------------------------------------------------- /src/server_test/card_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/card_tests.ml -------------------------------------------------------------------------------- /src/server_test/clients_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/clients_tests.ml -------------------------------------------------------------------------------- /src/server_test/combinatorics_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/combinatorics_tests.ml -------------------------------------------------------------------------------- /src/server_test/crypto_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/crypto_tests.ml -------------------------------------------------------------------------------- /src/server_test/db_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/db_tests.ml -------------------------------------------------------------------------------- /src/server_test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/dune -------------------------------------------------------------------------------- /src/server_test/messages_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/messages_tests.ml -------------------------------------------------------------------------------- /src/server_test/pubsub_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/pubsub_tests.ml -------------------------------------------------------------------------------- /src/server_test/server_util_tests.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/server_util_tests.ml -------------------------------------------------------------------------------- /src/server_test/test_async.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/test_async.ml -------------------------------------------------------------------------------- /src/server_test/test_processes.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/test_processes.ml -------------------------------------------------------------------------------- /src/server_test/test_sequential.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/test_sequential.ml -------------------------------------------------------------------------------- /src/server_test/test_util.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/server_test/test_util.ml -------------------------------------------------------------------------------- /src/shared/api_messages.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/api_messages.ml -------------------------------------------------------------------------------- /src/shared/base_conv.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/base_conv.ml -------------------------------------------------------------------------------- /src/shared/base_conv.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/base_conv.mli -------------------------------------------------------------------------------- /src/shared/card.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/card.ml -------------------------------------------------------------------------------- /src/shared/card.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/card.mli -------------------------------------------------------------------------------- /src/shared/combinatorics.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/combinatorics.ml -------------------------------------------------------------------------------- /src/shared/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/dune -------------------------------------------------------------------------------- /src/shared/game_status.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/game_status.ml -------------------------------------------------------------------------------- /src/shared/messages.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/messages.ml -------------------------------------------------------------------------------- /src/shared/messages_util.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/messages_util.ml -------------------------------------------------------------------------------- /src/shared/path_data.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/path_data.ml -------------------------------------------------------------------------------- /src/shared/shared_util.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/shared_util.ml -------------------------------------------------------------------------------- /src/shared/theme.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/theme.ml -------------------------------------------------------------------------------- /src/shared/theme.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/src/shared/theme.mli -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atongen/setml/HEAD/webpack.config.js --------------------------------------------------------------------------------