The application is composed of a number of microservices:
- Database
- Engine
- Nodes
This is a simple postgres instance, obtained by docker image.
All microservices (the engine, and nodes) share this database - and use it to store games, boards, moves, votes, etc.
There is a single engine.
- Managing games, boards, moves
- Tallying votes, advancing games
- Ending games
There is a node per social network (ie. mastodon server) that can participate in games.
- Posting board updates
- Collecting votes
- Validating votes
- Player communication