https://github.com/a-ws-m/ygo-draft

A web app for drafting Yu-Gi-Oh! decks.

https://github.com/a-ws-m/ygo-draft

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

card-game drafting supabase svelte yu-gi-oh yugioh
Last synced: 6 months ago · JSON representation

Repository

A web app for drafting Yu-Gi-Oh! decks.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 4
  • Releases: 0
Topics
card-game drafting supabase svelte yu-gi-oh yugioh
Created 10 months ago · Last pushed 6 months ago
Metadata Files
Readme Funding License

README.md

# YGO Draft

A web application for creating and participating in custom Yu-Gi-Oh! card drafts with your friends. Upload your cube, configure your draft settings, and draft cards in real-time.

Features

  • Custom Cubes: Upload your Yu-Gi-Oh! cube in CSV format
  • Multiple Draft Formats: Support for Winston Draft and Rochester Draft
  • Pack Rarity Customisation: Choose how many cards of each rarity are in a pack
  • Custom Card Rarities: You choose how rare each card should be, or just use the Master Duel rarities.
  • Real-time Drafting: Draft cards with friends with real-time updates
  • Card Visualisation: View your drafted deck with card images and statistics
  • YDK Export: Download your drafted deck in YDK format for use in simulators
  • Draft Statistics: Analyse your draft with built-in charts and analytics

Getting Started

Prerequisites

  • Node.js (v18.x or later)
  • pnpm package manager

Installation

  1. Clone the repository bash git clone https://github.com/a-ws-m/ygo-draft.git cd ygo-draft

  2. Install dependencies bash pnpm install

  3. Set up your environment variables bash cp .env.example .env

  4. Update the .env file with your Supabase credentials

  5. Start the development server bash pnpm dev

Usage

Creating a Draft

  1. Visit the home page
  2. Upload your cube CSV file (you can create one at YGOProdeck Cube Builder)
  3. Configure your draft settings:
    • Select a draft method (Winston, Rochester or Grid)
    • Set the number of players
    • Configure additional settings based on the draft method
  4. Start the draft and share the URL with other players

Participating in a Draft

  1. Open the shared draft URL
  2. Wait for all players to join
  3. The draft creator will start the draft when everyone is ready
  4. Follow the on-screen instructions to draft cards based on the selected method

Draft Methods

Winston Draft

In Winston Draft, cards are arranged into piles. On your turn: 1. Look at the first pile 2. Choose to either take that pile or pass to the next pile 3. If you pass on all piles, you must take a card from the top of the pool deck 4. After your selection, add a card from the deck to each pile you passed

Rochester Draft

In Rochester Draft: 1. Cards are laid out face up in "packs" 2. Players take turns selecting one card at a time from the available pack 3. The direction of picking reverses each round 4. When a pack is empty, a new one is opened

Grid Draft

In Grid Draft: 1. Cards are arranged face up in a grid (Default is 3×3) 2. Players take turns to select a row/column of the grid, adding those cards to their drafted deck 3. Replenish rows/columns with new cards from the pool 4. Continue until each player has desired number of cards

Asynchronous Draft

In Asynchronous Draft: 1. Players draft independently at their own pace without needing to coordinate schedules 2. Each player opens their own packs and selects cards 3. Once a card is drafted by a player, it's no longer available to others (unless you enable Allow overlap in player packs) 4. Players can join and make picks whenever they have time 5. Draft continues until all players have completed their selections

Technologies

Contributing

We welcome contributions to YGO Draft! Please check out our contributing guidelines for details on how to get started.

For bug reports and feature requests, please open an issue on GitHub.

Changelog

  • [19/05/2025] I have disabled sign in with OAuth for now as there is no advantage to doing this compared to signing in anonymously. I want to avoid storing any user data until it becomes necessary to do that for some functionality (e.g. saving your own cubes). If you previously signed in with your Discord/GitHub account, your data has been deleted from Supabase.

License

This project is licensed under the AGPLv3 License - see the LICENSE file for details.

Acknowledgments

  • YGOProdeck for their card database and cube builder
  • Skully and Retrorage for the default cubes.
  • All contributors and players who have helped test and improve this application

Created by a-ws-m

Owner

  • Name: Alex Moriarty
  • Login: a-ws-m
  • Kind: user

GitHub Events

Total
  • Issues event: 14
  • Delete event: 13
  • Issue comment event: 3
  • Public event: 1
  • Push event: 53
  • Pull request review event: 4
  • Pull request event: 32
  • Create event: 15
Last Year
  • Issues event: 14
  • Delete event: 13
  • Issue comment event: 3
  • Public event: 1
  • Push event: 53
  • Pull request review event: 4
  • Pull request event: 32
  • Create event: 15

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 159
  • Total Committers: 1
  • Avg Commits per committer: 159.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 159
  • Committers: 1
  • Avg Commits per committer: 159.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alex Moriarty a****4@g****m 159

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 29
  • Average time to close issues: 3 days
  • Average time to close pull requests: 1 minute
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.0
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 29
  • Average time to close issues: 3 days
  • Average time to close pull requests: 1 minute
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.0
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • a-ws-m (9)
  • TheLetterJ0 (1)
Pull Request Authors
  • a-ws-m (29)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

aws/lambda/card-image-processor/package-lock.json npm
  • @aws-sdk/client-s3 *
  • @emnapi/runtime 1.4.3
  • @img/sharp-darwin-arm64 0.33.5
  • @img/sharp-darwin-x64 0.33.5
  • @img/sharp-libvips-darwin-arm64 1.0.4
  • @img/sharp-libvips-darwin-x64 1.0.4
  • @img/sharp-libvips-linux-arm 1.0.5
  • @img/sharp-libvips-linux-arm64 1.0.4
  • @img/sharp-libvips-linux-s390x 1.0.4
  • @img/sharp-libvips-linux-x64 1.0.4
  • @img/sharp-libvips-linuxmusl-arm64 1.0.4
  • @img/sharp-libvips-linuxmusl-x64 1.0.4
  • @img/sharp-linux-arm 0.33.5
  • @img/sharp-linux-arm64 0.33.5
  • @img/sharp-linux-s390x 0.33.5
  • @img/sharp-linux-x64 0.33.5
  • @img/sharp-linuxmusl-arm64 0.33.5
  • @img/sharp-linuxmusl-x64 0.33.5
  • @img/sharp-wasm32 0.33.5
  • @img/sharp-win32-ia32 0.33.5
  • @img/sharp-win32-x64 0.33.5
  • color 4.2.3
  • color-convert 2.0.1
  • color-name 1.1.4
  • color-string 1.9.1
  • detect-libc 2.0.4
  • is-arrayish 0.3.2
  • semver 7.7.2
  • sharp 0.33.5
  • simple-swizzle 0.2.2
  • tslib 2.8.1
aws/lambda/card-image-processor/package.json npm
  • @aws-sdk/client-s3 ^3.145.0
  • sharp ^0.33.0
scripts/package.json npm
  • @aws-sdk/client-s3 ^3.145.0
  • axios ^1.6.2
  • cli-progress ^3.12.0
  • sharp ^0.33.0
  • ygo-card-image-processor link:
.github/workflows/deploy.yml actions
  • actions/cache v4 composite
  • actions/checkout v3 composite
  • actions/configure-pages v5 composite
  • actions/deploy-pages v2 composite
  • actions/setup-node v4 composite
  • actions/upload-pages-artifact v3 composite
  • pnpm/action-setup v4 composite
package.json npm
  • @eslint/compat ^1.2.9 development
  • @eslint/js ^9.26.0 development
  • @playwright/test ^1.52.0 development
  • @sveltejs/adapter-auto ^6.0.0 development
  • @sveltejs/adapter-static ^3.0.8 development
  • @sveltejs/kit ^2.20.8 development
  • @sveltejs/vite-plugin-svelte ^5.0.3 development
  • @tailwindcss/forms ^0.5.10 development
  • @tailwindcss/typography ^0.5.16 development
  • @tailwindcss/vite ^4.1.5 development
  • @types/papaparse ^5.3.15 development
  • eslint ^9.26.0 development
  • eslint-config-prettier ^10.1.2 development
  • eslint-plugin-svelte ^3.5.1 development
  • globals ^16.0.0 development
  • prettier ^3.5.3 development
  • prettier-plugin-svelte ^3.3.3 development
  • prettier-plugin-tailwindcss ^0.6.11 development
  • supabase ^2.22.6 development
  • svelte ^5.28.2 development
  • svelte-check ^4.1.7 development
  • tailwindcss ^4.1.5 development
  • typescript ^5.8.3 development
  • typescript-eslint ^8.31.1 development
  • vite ^6.3.4 development
  • @supabase/supabase-js ^2.49.4
  • d3 ^7.9.0
  • papaparse ^5.5.2
pnpm-lock.yaml npm
  • 118 dependencies