bridge-hackathon

A suite of cloud-native web Bridge services, running on GCP

View the Project on GitHub online-bridge-hackathon/bridge-hackathon

All Contributors

bridge-hackathon

Join the chat at https://gitter.im/bridge-hackathon/community License: MIT

Bridge Hackathon is a real, currently online-only hackathon, started on 23 May 2020. The hackathon participants created a modular suite of cloud-native services (projects) to build multiple, modern end user applications, such as a Bridge game server (improving on the work of BBO, OK Bridge, BCL, FunBridge, etc).

Projects

  1. DDS - An api that returns DDS results for a given deal or partial deal
  2. Deal - A web service that accepts request by APIs and returns 1+ bridge deals
  3. OCR - Optical Character Recognition API that converts deal images to text format
  4. Data Converter - Converts bridge deal data formats between JSON, PBN, etc
  5. [Tournament] - Organises users, tables, deals, scores (not yet created; name may change)
  6. [Scores] - Accepts contract results and returns scores (not yet created; name may change)
  7. [Storage] - Storage for played deals (not yet created; name may change)
  8. [Platform] - Play server where users can play bridge (not yet created; name may change)
  9. [Robots] - A place our Robots will be developed and hang out!

Try out our services!

Listed are current services on our Production clusters.

Deal (Prod)

Returns UUID-encoded randon deals as a JSON object

curl https://deal.prod.globalbridge.app/api/deal
Converter (Prod)

Accepts a PBN file (replace path with your own) and returns the conversion as a JSON object

curl -F "file=@/tmp/test.pbn" https://converter.prod.globalbridge.app/api/boards/test

DDS (Prod)

Accepts a full hand encoded as a JSON object and returns the DDS result as a JSON object

curl --header "Content-Type: application/json" --request POST --data '{"hands":{"S":["D3", "C6", "DT", "D8", "DJ", "D6", "CA", "C3", "S2", "C2", "C4", "S9", "S7"],"W":["DA", "S4", "HT", "C5", "D4", "D7", "S6", "S3", "DK", "CT", "D2", "SK","H8"],"N":["C7", "H6", "H7", "H9", "CJ", "SA", "S8", "SQ", "D5", "S5", "HK", "C8", "HA"],"E":["H2", "H5", "CQ", "D9", "H4", "ST", "HQ", "SJ", "HJ", "DQ", "H3", "C9", "CK"]}}' https://dds.prod.globalbridge.app/api/dds-table/

Common Standards

Roadmap

These are some of the services we plan to deliver:

Play with and against others in a wide variety of formats at no charge.

We also plan to provide this service to bridge organizations, companies, and researchers where they can market it under their own names, free for moderate usage and with micro-payments for high usage.

A double-dummy solver

Enter a deal onto a web page and see the number of tricks declarer can take from each position with each trump suit, with best play and defense. Step through the play trick by trick to see how.

A deal formatter

Enter an auction and a deal on a web page and have it rendered for you in a variety of formats, suitable for emailing (text), posting on a website (HTML), or typesetting (Postscript or PDF.)

A deal generator

Request a number of deals, randomly dealt or to your specifications, for use in a tournament or bidding practice.

An optical card recognizer

Take a photo of a deal after it’s been played and use the results to generate hand records, save in a database, or format with the deal formatter above.

Set up a table video camera to record all bids and play, for live VuGraph, recorded viewing. TDs can use it to monitor matches and avoid problems while researchers can use it for analysis.

A universal bridge results database

This would be a superset of the existing isolated repositories, bringing all our bridge data together for better user experiences, such as player development and research. Retrieve any deal that’s been played online or face to face, limited only by the data that’s been added to the system. Look for your favorite stars or partners, or your own triumphs and tragedies. Compare your results to others. Look for which styles and conventions are most effective and why. Capture trends over time.

This is a list of our intended features where…

…bridge players

…Bridge clubs (local, regional, national, international) and organisers

…Tournament Directors (TD)

ref: TD Feature Requests

…Bridge Teachers

ref: Teacher Feature Requests

…Software Developers (backend, frontend, UI/UX, DevOps, systems architects, standards)

…3rd party businesses (NBOs, existing Bridge platforms, entrepreneurs, app developers, …)

Contributors ✨

Developer documentation is available at README-developers.md

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!