Topics

The Bridge Hackathon - Playing server ideas

Zhivko Draganov
 
Edited

Hello folks,

Started thinking about the Playing server project that's part of the upcoming Bridge Hackaton next Saturday.
I've come up with a high level design of the components and want to share that with you, to have feedback.

The idea is to have Live API for playing and kibitzing, separate Auth API, History API, and static Website (web assets and web server only).
Behind the scenes there's a thing, I've called Core which has bridge logic integrated, and can check if a bid/played card is validated and stored.
Also, it will know when a game is finished, and evaluate what's the next hand of the match or finish it.

Communication between Live API and Core can be done via Pub/Sub messages over a queue or event stream (Kafka, RabbitMQ, etc.)
For the purposes of the project, I've decided to use containers and Kubernetes. Socket.io can be used for client-server communication for playing and kibitzing.

Do you think I am missing something about the system?

Diagram here:

georgewphorrell+spork@...
 

Hi Zhivko,

I have implemented:
  • A "Core" in Golang.
  • A "Game DB/User DB" in mysql.
  • A play frontend written in React (not much more than a table).

Let me know if you're interested in building on this with me - I've got some experience with Kube and socket.io too.

Best,
George

Zhivko Draganov
 

Hey George,

Thanks for the reply. It's awesome that you've some of the components ready!

I will be happy to work together on that. Let's schedule a discussion in Discord / Zoom / Hangouts and go further. If Sunday (tomorrow for me) wors for you that will be fine.
If Sunday doesn't work for you, propose a time outside of the CET working hours and we can jump on call during the week as well.

I will post the call link here, so anyone interested can join us as well.

Best,
Zhivko

grzegorz.pociejewski@...
 

Hi guys, 

I started implementing something similar, and even though about making hackathon. I'm very happy to hear im not only one, and you came with this. Great minds think alike :) 
About the project structure, i agree with socket.io approach but there is currently very good framework socket.io base https://github.com/nicolodavis/boardgame.io. I have quite good experience with this framework. And gives us a lot ( in fact i have the bridge as a game defined in the language of boardgame.io.  
As an app server i started using meteor.js as it is pretty simple to setup, it will be relatively easy with react on the frontend . I spent only three evenings on it so it is far from being mature but its some background and im happy to push what i have to some publicly accessible repository and we can use it as base for further development. Could we have a quick call? It would be easier that writing post here. 

Grzegorz

 

Kiat Huang
 

Hi Grzegorz, welcome!

Join the Hackathon discord server https://discord.gg/MX9Vwr5 and have a call with zdraganov nunodamaso 

Zhivko Draganov
 

Hello Grzegorz,

The boardgame.io framework looks fantastic. Never heard of it.
I will spend some time to review its possibilities, and also could you share the codebase you've already have for bridge.

I'm. happy to have a call. Let's chat on Discord and arrange something!

Best,
Zhivko