TCG Vault - Trading Card Game Collection Management with OCR Scanning
Find a file
Randall Stillwell 85131240e5 🔍 Add Authentication Debugging
- Added debug logging to getUserFromRequest function
- Log when no auth header is found vs when token verification fails
- Log token verification attempts and decoded results
- This will help identify why 'All My Cards' collection lookup is failing

The issue appears to be that the development fallback always returns admin user,
but users are trying to access collections belonging to other users (like Bob).
This debugging will help us see if tokens are being sent properly.
2025-07-27 21:22:25 -05:00
components 🔧 Fix System Collections & Database Schema Issues 2025-07-27 19:17:55 -05:00
lib 🔍 Add Authentication Debugging 2025-07-27 21:22:25 -05:00
pages Enhanced Collection Detail Page 2025-07-27 20:58:18 -05:00
public Major redesign: Enhanced card display with particle effects, improved filters, and search functionality 2025-07-23 21:26:54 -05:00
scripts 🔧 Fix System Collections & Database Schema Issues 2025-07-27 19:17:55 -05:00
styles 🎨 Redesign Collections Page with Card Thumbnails 2025-07-26 21:51:58 -05:00
.gitignore 🖼️ Complete Avatar Upload System with Vercel Blob 2025-07-26 21:39:42 -05:00
.npmrc Fix build compatibility issues 2025-07-22 10:32:15 -05:00
bulk-import-results-2025-07-24T15-23-54-843Z.json Fix import issues: Add retry logic and better error handling 2025-07-24 10:30:21 -05:00
bulk-import-results-2025-07-24T17-20-21-039Z.json Add real Lorcana import using Lorcast API 2025-07-24 12:27:10 -05:00
lorcana-import-results-2025-07-24T17-27-46-410Z.json Fix card sizing consistency across all TCGs 2025-07-24 14:54:12 -05:00
lorcana-import-results-2025-07-24T17-32-10-187Z.json Fix card sizing consistency across all TCGs 2025-07-24 14:54:12 -05:00
lorcana-import-results-2025-07-24T17-34-04-839Z.json Fix card sizing consistency across all TCGs 2025-07-24 14:54:12 -05:00
next-env.d.ts Convert from React to Next.js for proper API route support 2025-07-23 08:25:58 -05:00
next.config.js Major redesign: Enhanced card display with particle effects, improved filters, and search functionality 2025-07-23 21:26:54 -05:00
package-lock.json 🖼️ Complete Avatar Upload System with Vercel Blob 2025-07-26 21:39:42 -05:00
package.json 🖼️ Complete Avatar Upload System with Vercel Blob 2025-07-26 21:39:42 -05:00
popular-sets-import-results-2025-07-23T19-35-56-994Z.json Major redesign: Enhanced card display with particle effects, improved filters, and search functionality 2025-07-23 21:26:54 -05:00
postcss.config.js Major redesign: Enhanced card display with particle effects, improved filters, and search functionality 2025-07-23 21:26:54 -05:00
README.md Major redesign: Enhanced card display with particle effects, improved filters, and search functionality 2025-07-23 21:26:54 -05:00
tailwind.config.js Ultra-Smooth Hover System with Expanding Actions 2025-07-26 09:00:26 -05:00
TESTING_GUIDE.md 🎨 Restructured Layout System 2025-07-25 11:28:04 -05:00
tsconfig.json Major redesign: Enhanced card display with particle effects, improved filters, and search functionality 2025-07-23 21:26:54 -05:00
vercel.json Simplify Vercel config to resolve API routing issues 2025-07-23 09:22:14 -05:00

TCG Vault

A modern trading card game collection manager built with Next.js and Neon Database.

🚀 Features

  • Card Management: Track your MTG, Pokémon, and Lorcana cards
  • Collection Organization: Create and manage card collections
  • Deck Building: Build and share decks
  • Authentication: Secure user accounts with JWT
  • Admin Panel: Manage cards and users
  • Real-time Pricing: Track card values

🛠️ Tech Stack

  • Frontend: Next.js 15, React 18, TypeScript
  • Backend: Next.js API Routes
  • Database: Neon PostgreSQL (serverless)
  • Authentication: JWT with bcrypt
  • Styling: Tailwind CSS
  • Deployment: Vercel

📦 Installation

  1. Clone the repository

    git clone <repository-url>
    cd tcg-vault
    
  2. Install dependencies

    npm install
    
  3. Set up environment variables

    cp .env.example .env.local
    

    Update .env.local with your Neon database URL:

    POSTGRES_URL="postgresql://your-username:your-password@your-host/your-database"
    JWT_SECRET="your-super-secret-jwt-key"
    
  4. Set up the database

    npm run setup-db
    
  5. Start development server

    npm run dev
    

🗄️ Database Schema

The application uses the following tables:

  • users - User accounts and authentication
  • cards - Card information and metadata
  • user_cards - User's card collections
  • collections - Named card collections
  • collection_cards - Cards in collections
  • decks - Deck definitions
  • deck_cards - Cards in decks

🔧 API Endpoints

Authentication

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login

Admin

  • GET /api/admin - Admin panel data

Health Check

  • GET /api/health - Application health
  • GET /api/test-db - Database connection test

🚀 Deployment

This app is configured for deployment on Vercel:

  1. Connect your repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy automatically on push to main branch

📁 Project Structure

tcg-vault/
├── pages/                 # Next.js pages and API routes
│   ├── api/              # API endpoints
│   │   ├── auth/         # Authentication routes
│   │   └── admin/        # Admin routes
│   ├── _app.js           # App wrapper
│   └── index.js          # Home page
├── lib/                  # Utility libraries
│   └── database.js       # Database adapter
├── scripts/              # Database setup scripts
├── public/               # Static assets
└── .env.local           # Environment variables

🔐 Default Admin Account

After running the database setup:

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📄 License

MIT License - see LICENSE file for details