Files
memory-infrastructure-palace/code/websites/pokedex.online
FragginWagon 1944b43af8 feat: implement multi-state tournament querying for Challonge API v2.1
- Add tournament-query.js utility with queryAllTournaments() and helper functions
  * Makes 3 parallel API calls (pending, in_progress, ended states)
  * Uses Promise.all() to wait for all requests
  * Deduplicates results by tournament ID using Map
  * Replaces invalid state: 'all' parameter (API doesn't support 'all' value)

- Implement 5 convenience functions:
  * queryAllTournaments() - Query all states with custom options
  * queryUserTournaments() - Query user's tournaments (shorthand)
  * queryCommunityTournaments() - Query community tournaments
  * queryActiveTournaments() - Query pending + in_progress only
  * queryCompletedTournaments() - Query ended tournaments only
  * queryTournamentsByStates() - Query custom state combinations

- Update ChallongeTest.vue to use queryAllTournaments()
  * Replace invalid state: 'all' with proper multi-state query
  * Now correctly fetches tournaments from all states
  * Update console logging to show all 3 states being queried

- Add comprehensive TOURNAMENT_QUERY_GUIDE.md documentation
  * Explains the problem and solution
  * API reference for all functions
  * Implementation details and performance notes
  * Testing instructions
  * Future enhancement ideas
2026-01-28 18:10:29 +00:00
..

Pokedex Online

A modern Vue 3 web application for exploring Pokémon data, tracking collections, and managing your Pokémon journey.

🚀 Local Development

Prerequisites

  • Node.js 20+
  • npm or yarn

Quick Start

# Install dependencies
npm install

# Start development server
npm run dev

# Open browser to http://localhost:5173

Build for Production

# Build the app
npm run build

# Preview production build
npm run preview

🐳 Docker Deployment

Build and Run Locally

# Build the image
docker build -t pokedex-online .

# Run the container
docker run -d -p 8080:80 --name pokedex-online pokedex-online

# View in browser
open http://localhost:8080

Using Docker Compose

# Start the service
docker-compose up -d

# Stop the service
docker-compose down

# View logs
docker-compose logs -f

📦 Automated Deployment

Deploy to Synology NAS using the deployment script:

# Deploy to internal network (10.0.0.81)
npm run deploy:pokedex:internal

# Deploy to external network (home.gregrjacobs.com)
npm run deploy:pokedex:external

# Deploy with custom ports
npm run deploy:pokedex -- --target internal --port 8080 --ssl-port 8443

📁 Project Structure

pokedex.online/
├── src/
│   ├── main.js           # Application entry point
│   ├── App.vue           # Root component
│   ├── style.css         # Global styles
│   └── components/
│       └── Pokeball.vue  # Pokeball component
├── apps/                 # Subdomain apps (app.pokedex.online)
├── index.html           # HTML entry point
├── vite.config.js       # Vite configuration
├── package.json         # Dependencies
├── Dockerfile           # Multi-stage Docker build
└── docker-compose.yml   # Docker Compose config

🛠️ Tech Stack

  • Vue 3 - Progressive JavaScript framework
  • Vite - Next generation frontend tooling
  • Docker - Containerization
  • nginx - Web server
  • apps/ - Additional apps accessible at app.pokedex.online

📝 Development Notes

This project uses:

  • Vue 3 Composition API with <script setup>
  • Vite for fast HMR and optimized builds
  • Multi-stage Docker builds for minimal image size
  • nginx:alpine for production serving