项目作者: thebridsk

项目描述 :
Scorekeeper for duplicate bridge and Chicago bridge.
高级语言: Scala
项目地址: git://github.com/thebridsk/bridgescorer.git
创建时间: 2018-01-11T22:44:04Z
项目社区:https://github.com/thebridsk/bridgescorer

开源协议:MIT License

下载


Bridge Scorer Project

Build Status
GitHub release
ZenHub

Demo

See the demo of the BridgeScorer here.

Contributing

Use pull requests. Travis CI is used to test all pull requests prior to merging.

Releasing

To release a new version, the current branch must be main, the workspace must be clean. The release branch must not exist.

To create the release, execute:

  1. sbt release

Then push the release branch and make a pull request. Once the Travis CI build finishes merge the pull request, and then push the tag that was created with the sbt release command.

Directory Structure

  1. client/
  2. src/
  3. main/
  4. scala/ the source for the browser application
  5. help/ the help project from https://github.com/thebridsk/bridgescorerdocs
  6. rotation/
  7. shared/
  8. src/
  9. main/
  10. scala/ a utility to help with bridge table rotations
  11. server/
  12. src/
  13. main/
  14. public/ static content for web application
  15. scala/ the server source code
  16. resources/ resources for the server
  17. test
  18. scala/ test code
  19. store/ persistent store for dev environment, git ignored
  20. testdata/ test data for integration tests
  21. shared/
  22. shared/
  23. src/
  24. main/
  25. scala/ shared code between web application and server
  26. utilities/ the utilities project from https://github.com/thebridsk/utilities
  27. project/
  28. Dependencies.scala dependencies for all projects
  29. MyEclipseTransformers.scala sbt transformers for eclipse
  30. MyReleaseVersion.scala my version support for sbt-release
  31. plugins.sbt plugins needed by this project
  32. Server.scala support for running server in tests
  33. build.sbt build file
  34. version.sbt version file, maintained by build.sbt and sbt-release plugin
  35. setup/
  36. sbt/ files for global configuration of sbt
  37. launchers/ eclipse launchers for development environment

Server Key for HTTPS Connection

To generate the server key for the HTTPS Connection run the following:

  1. md key
  2. cd key
  3. ..\generateServerKey.bat abcdef abcdef

Warning: The above is NOT secure, the password for the private key trivial.
This only shows how to make a server that supports HTTPS.

With this key, the following options will enable https and http2 when starting the server:

  1. --certificate key/example.com.p12 --certpassword abcdef --https 8443 --http2

The sbt build target bridgescorer-server/serverssl can be used to start the server with https support and bridgescorer-server/serverhttp2 can be used to start the server with https and http2 support. Note that the akka-http2-support library is added in the test scope, as is the serverhttp2 target.

Development Environment

This project uses nested submodules. The easiest way to clone is to use clone --recurse-submodules.

  1. mkdir BridgeScorer
  2. cd BridgeScorer
  3. mkdir git
  4. cd git
  5. git clone --recurse-submodules https://github.com/thebridsk/bridgescorer

The resulting directory structure is:

  1. BridgeScorer
  2. git
  3. bridgescorer
  4. ws

The ws directory is the eclipse workspace.

Prereqs

Optional:

SBT Global Setup

  • In the SBT install, edit the file conf/sbtconfig.txt and make the following changes:

    • Change -Xmx option to -Xmx=4096M. 512m is not enough.
  • If you update SBT, you may need to clean out the ~/.sbt directory. Make sure you save global.sbt, plugins.sbt and any other configuration files.

  • Optionally copy the files in setup/sbt/1.0 to ~/.sbt/1.0. This has a plugins.sbt file with plugins that are nice to have.

Setup for VSCode

Install the scalametals extension. Add sbt, Scala, Java, chromedriver, hugo to the path when starting VSCode.

Debugging iOS (Oct 28, 2017)

Use jsconsole from https://github.com/remy/jsconsole

Start jsconsole

  1. git clone https://github.com/remy/jsconsole
  2. cd jsconsole
  3. npm install
  4. node .

Browser to jsconsole

edit server/src/main/public/index-jsconsole.html to set the correct IP address for the jsconsole server.

on iOS Safari, go to /public/index-jsconsole.html