Pokémon TCG Exchange is a community-driven platform designed to help players of Pokémon TCG Pocket efficiently trade digital cards and complete their collections. The site provides a seamless, user-friendly interface for requesting missing cards, offering duplicates, and matching with other trainers for fair and secure trades.
Pokémon TCG Exchange is built for fans of the Pokémon Trading Card Game Pocket app who want to:
- Request cards they are missing from their collection.
- Offer duplicate cards to trade with others.
- Automatically match with other users seeking the same exchange.
- Coordinate and finalize trades through an integrated chat system.
- Automated Matching: Enter the card you want and the card you offer; the system finds a matching trade partner for you.
- Secure Communication: Once matched, a private chat opens to coordinate the trade details.
- Fair Trading: The platform supports the Pokémon TCG Pocket's rules—trades must be between cards of the same rarity, and certain rarities or promo cards may not be eligible for trade.
"Request your missing cards, offer a duplicate, wait for a match, and swap seamlessly on Pokémon TCG Pocket!"
- List Your Wants and Offers: Select the card you need and the duplicate you can trade.
- Get Matched: The system searches for another user with a complementary offer.
- Connect: When a match is found, both users receive each other's Pokémon TCG Pocket user ID and friend code.
- Chat & Confirm: Use the built-in chat to arrange the details and confirm the trade.
- Trade In-Game: Complete the actual card swap within Pokémon TCG Pocket.
Note: All trades must follow the in-game restrictions—only cards of matching rarity can be exchanged, and certain cards require Trade Tokens or other in-game resources.
This project is built with Vue 3 and Vite. The cards database is provided by pokemon-tcg-pocket-database.
TypeScript cannot handle type information for .vue
imports by default, so we replace the tsc
CLI with vue-tsc
for type checking. In editors, use Volar to make the TypeScript language service aware of .vue
types.
See Vite Configuration Reference.
pnpm install
pnpm dev
pnpm build
Run End-to-End Tests with Playwright
# Install browsers for the first run
npx playwright install
# When testing on CI, must build the project first
pnpm build
# Runs the end-to-end tests
pnpm test:e2e
# Runs the tests only on Chromium
pnpm test:e2e --project=chromium
# Runs the tests of a specific file
pnpm test:e2e tests/example.spec.ts
# Runs the tests in debug mode
pnpm test:e2e --debug
Lint with ESLint
pnpm lint
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the AGPL-3.0 License.