Skip to content

Senryoku/Draftmancer

Folders and files

NameName
Last commit message
Last commit date
Feb 17, 2025
May 14, 2024
Aug 24, 2024
Mar 5, 2025
Mar 4, 2025
Dec 18, 2024
Mar 5, 2025
Mar 5, 2025
Jul 27, 2023
Aug 27, 2024
Apr 17, 2023
Mar 18, 2024
Nov 2, 2024
Apr 13, 2020
Feb 22, 2025
Jun 27, 2023
Nov 2, 2024
Feb 19, 2025
Feb 19, 2025
Apr 26, 2023

Repository files navigation

Draftmancer

Contact

Join the discord for development related discussions: https://discord.gg/XscXXNw

How to run the project locally

  • Clone repository (git clone https://github.com/Senryoku/Draftmancer.git)
  • Open repository (cd Draftmancer)
  • Execute npm install to install dependencies.
  • Execute npm run build to build the server using typescript and the client using webpack (for production).
  • Execute npm start to start the server (which also serves the webapp).
  • Navigate to http://localhost:3000/

Development tips

  • Running npm run start-dev instead of npm start will restart the node server on any changes. (Install nodemon globally with npm install nodemon -g)

  • Use npm run build-client-dev to watch for changes in the client js code and automatically re-build it.

  • Use npm run build-server-dev to watch for changes in the server typescript code and automatically re-build it.

  • Setting the environment variable DISABLE_PERSISTENCE to TRUE (one can use a .env file for development) will disable retrieving/saving the states of Connections/Sessions between server execution from disk (see src/Persistence.ts).

Tests

  • npm test runs all tests in the test folder (non recursive). This is the command run by GitHub actions on each commit.
  • npm run manualtest runs tests from the test/manual folder, it contains additional (and long) statistical tests. These are not included in the automatic test suite.
  • npm run fronttest runs tests from the test/frontend folder, it contains additional end-to-end tests, including the client. These are not included in the automatic test suite.

Add -bail (e.g. npm run test-bail) to stop on the first error.

Notes on Arena Importer

  • Splits Cards (Ravnica) needs both card names, e.g. Discovery // Dispersal
  • Adventures (ELD) and Dual Faces (IXL) need only one.
  • AKR Splits Cards uses triple forward slashes (///) instead of double.

Custom Set format

See cubeformat.html

Acknowledgement