mirror of
https://github.com/swarm-game/swarm.git
synced 2025-01-05 23:34:35 +03:00
d749c5e473
Towards #1797 Hosts an online repository of scenarios, against which solutions may be submitted. This is the foundational layer that may support more structured "tournaments", scenario ranking, or other social activity. # Demo ## Live server http://swarmgame.net/list-games.html One can use the [`submit.sh`](https://github.com/swarm-game/swarm/pull/1798/files#diff-450877e3442a0ec1c5cbe964808a263d67f1e680d3aa3c3bf9ae6f51eca682fb) script and see valid uploads reflected live on the website. ## Local testing ### Automated tests These are database-agnostic. scripts/run-tests.sh swarm:test:tournament-host ### Manual tests These test database interactions. It requires first setting up a local Postgres server. 1. Start `tournament/scripts/demo/server-native.sh` in one console 2. Run `tournament/scripts/demo/client/test-cases/local/good-submit.sh` in another # Features * Upload and validates scenarios * Download scenarios with solution redacted * Submit, validate, execute, and score solutions # Key components * Servant server * Hosted on AWS in a Docker container * Stores to a Postgres database in Amazon RDS * Shares some code with the integration tests for evaluating scenarios and solutions The production database uses IAM to manage logins. The web app uses the AWS API to fetch a "token" which can be used to log in instead of a password. This avoids having to store a password on the server. # TODO - [ ] User authentication (GitHub OpenID?) |
||
---|---|---|
.. | ||
doc | ||
scene | ||
Swarm | ||
tournament | ||
Main.hs |