Schnellemann / ProgramArena

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ProgramArena

Description

A game focusing on learning about distributed systems, REST communication and programming.

Building and Running

Build

Either using Docker

docker build -t programarena:latest .

or using docker-compose

docker-compose build

Running

Using Docker

Either using Docker

docker run -d --name programarena -p 80:80 programarena

or using docker-compose

docker-compose up

ProgramArena will be running at localhost

Using uvicorn

When developing running uvicorn will hotload new changes directly to the server.

uvicorn programarena.serve:app --reload

ProgramArena will be running at localhost:8000 if using the standard port provided from uvicorn.

API documentation

The documentation for every endpoints is created through OpenAPI and can be found by navigating to /redoc endpoint. Through OpenAPI it is also possible to try out all the endpoints.

Game logic

Every team creates a player and by using the API of the server, creates a program which uses the different endpoints for moves.

About

License:MIT License


Languages

Language:Python 93.9%Language:Dockerfile 6.1%