Join the discord for development related discussions: https://discord.gg/XscXXNw
- Clone repository
- Open repository
- Execute
npm install
to install dependencies. - Execute
npm run build
to build the client using webpack. - Execute
npm start
to start the server (which also serves the webapp). - Navigate to
http://localhost:3000/
- Running
nodemon --experimental-json-modules
instead ofnpm start
will restart the node server on any changes. (Install nodemon globally withnpm install nodemon -g
) - Use
npm run build-dev
to watch for changes in the client js code and automatically re-build it.
npm test
runs all tests in thetest
folder (non recursive). This is the command run by GitHub actions on each commit.npm run manualtest
runs tests from thetest/manual
folder, it contains additional (and long) statistical tests.
- Cleanup draft state? (See Winston Draft State for a better example)
- 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.
See cubeformat.html
- Card data and images provided by Scryfall
- Data used for automatic collation from https://github.com/taw/magic-sealed-data ; Used https://www.lethe.xyz/mtg/collation/ as reference for manual implementations.