Join the discord for development related discussions: https://discord.gg/KYKzx9m
- Clone repository
- Open repository
- Execute
npm installto install dependencies. - Execute
npm run buildto build the client using webpack. - Execute
npm startto start the server (which also serves the webapp). - Navigate to
http://localhost:3000/
- Running
nodemoninstead ofnpm startwill restart the node server on any changes. - Use
npm run build-devto watch for changes in the client js code and automatically re-build it.
Persistence can be disabled by setting environment variable DISABLE_PERSISTENCE to TRUE.
- Download DynamoDB
- Extract and run
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb - Setup environment variables, for development create a '.env' file at the root of MTGADraft with the following:
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=...
AWS_ENDPOINT=http://localhost:8000
- Run
node createDynamoDBTables.js
- Re-think color balance for multi-colored cards?
- Improve bot distribution (they're clumping up at the end of the table when bots >> players)
- Cleanup draft state? (See Winston Draft State for a better example)
- Improve deck stats (Get some inspiration from MTGA. Add text form below charts. Mana Curve: Differentiate between creature and non-creature.)
- Regroup Game Mode besides Draft in a single dropdown menu; Change "More" into "Setting" + Cog Icon
- Display foils as... foils in front end?
- Set specificy booster generation rules, examples: WAR: One planeswalker/pack. DOM: One Legendary/pack.
Features that may need some additional testing:
- Picks by Drag & Drop
- Load translations on-demand.
- Chaos Draft with specific boosters? (e.g. 2 RIX 1 IXL)
- Glimpse/Burn Draft
- Card count/set code/Collector number support to cube import
- Monitor persistence
- Rarity selection
- Splits Cards (Ravnica) needs both card names, e.g. Discovery // Dispersal
- Adventures (ELD) and Dual Faces (IXL) need only one.
See cubeformat.html