https://github.com/a-ws-m/ygo-draft
A web app for drafting Yu-Gi-Oh! decks.
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
Repository
A web app for drafting Yu-Gi-Oh! decks.
Basic Info
- Host: GitHub
- Owner: a-ws-m
- License: agpl-3.0
- Language: Svelte
- Default Branch: master
- Homepage: https://a-ws-m.github.io/ygo-draft/
- Size: 2.42 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
- Releases: 0
Topics
Metadata Files
README.md
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
Clone the repository
bash git clone https://github.com/a-ws-m/ygo-draft.git cd ygo-draftInstall dependencies
bash pnpm installSet up your environment variables
bash cp .env.example .envUpdate the .env file with your Supabase credentials
Start the development server
bash pnpm dev
Usage
Creating a Draft
- Visit the home page
- Upload your cube CSV file (you can create one at YGOProdeck Cube Builder)
- 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
- Start the draft and share the URL with other players
Participating in a Draft
- Open the shared draft URL
- Wait for all players to join
- The draft creator will start the draft when everyone is ready
- 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
- Svelte and SvelteKit - Frontend framework
- Tailwind CSS - Styling
- Supabase - Backend, database, and real-time functionality
- ChartJS - Data visualization
- PapaParse - CSV parsing
- Fuzzy-search - Fuzzy searching for card names/descriptions
- Feather icons - Beautiful, open source icons
- Swiper - Card carousel display
- TippyJS - Fancy tooltips
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
- Repositories: 8
- Profile: https://github.com/a-ws-m
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
Top Committers
| Name | 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-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-sdk/client-s3 ^3.145.0
- sharp ^0.33.0
- @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:
- 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
- @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
- 118 dependencies