A comprehensive web application for managing and tracking sports card collections. Built with React, TypeScript, and modern web technologies, featuring advanced analytics, professional reporting, and eBay integration.
- User Authentication: Secure login and registration system
- Role-Based Access: Admin and regular user roles
- Personal Collections: Each user has their own card collection
- Admin Dashboard: Comprehensive admin tools for user management
- Smart Card Entry: Classic and Enhanced forms with 100+ fields
- Photo-Based Entry: Upload card photos for automatic data extraction
- Collections Feature: Organize cards into custom collections
- Bulk Import: CSV import for large collections
- Advanced Search: Multi-criteria filtering and search
- Image Management: High-resolution image support (up to 100MB)
- Grading Integration: PSA, BGS, SGC, and other major grading companies
- Executive Dashboard: High-level KPIs and strategic insights
- Tax Reports: IRS-compliant capital gains/losses documentation
- Insurance Appraisals: Professional valuations for coverage
- Portfolio Analytics: ROI tracking and performance metrics
- Market Analysis: Trends, comparisons, and opportunities
- Custom Reports: Flexible date ranges and filters
- Professional Listing Generator: Create optimized eBay listings instantly
- Smart Title Builder: 80-character titles with key features
- HTML Descriptions: Beautiful, mobile-responsive templates
- Bulk Export: Generate listings for multiple cards at once
- File Exchange Ready: CSV export for eBay bulk upload
- AI-Powered Recommendations: Smart listing suggestions with scoring
- Price Optimization: Market-based pricing suggestions
- Real-Time Dashboard: Live portfolio metrics and charts
- Performance Tracking: ROI, win rates, and growth trends
- Category Analysis: Breakdown by sport, brand, and player
- Risk Assessment: Concentration and volatility metrics
- Investment Tools: Hold/sell recommendations
- Responsive Design: Optimized for desktop, tablet, and mobile
- Dark Mode: Eye-friendly viewing (coming soon)
- Interactive Charts: Powered by Recharts
- Drag & Drop: Intuitive card organization
- Quick Actions: Streamlined workflows
- Collection Icons: Customizable emojis for collection organization
- Local Storage: All data stored locally using IndexedDB
- Backup & Restore: Manual and automatic backup options
- Export Options: CSV, JSON, and custom formats
- Import Tools: Bulk import from CSV files
- Data Migration: Seamless upgrades between versions
- Tabular Backup Display: Comprehensive backup information in table format
- Username Display: Admin dashboard now shows usernames instead of user IDs
- Backup Statistics: Size, date, type, and user information for all backups
- User Promotion: Console utilities for promoting users to admin role
- Improved Analytics: Better user statistics and system information
- Application Overview: Comprehensive information about the app
- Feature Highlights: Visual cards showing key features
- Technology Stack: Display of technologies used
- Contact Information: Easy ways to get in touch
- Professional Design: Clean, modern layout with gradient accents
- Storage Migration: Fixed localStorage quota issues by moving to IndexedDB
- Collection Icons: Improved styling with proper opacity and contrast
- Border Styling: Removed unnecessary blue borders from card display
- Platform Detection: Fixed deprecated navigator.platform usage
- Build Process: Improved production build configuration
- Individual Listings: One-click eBay listing creation for any card
- Bulk Export: Select multiple cards and export to CSV
- Smart Titles: Optimized 80-character titles with key features
- HTML Templates: Professional, mobile-responsive descriptions
- Automatic Categorization: Correct eBay category and condition mapping
- Item Specifics: All fields populated automatically
- Multiple Export Formats: HTML, CSV, and JSON
- Comprehensive manufacturer database with real licensing data
- Sport-specific brand validation (e.g., Topps for MLB, Panini for NBA/NFL)
- Historical accuracy for vintage cards
- Year-based manufacturer selection
- Automatic correction of invalid manufacturer-sport combinations
- 100+ real players across all major sports
- Accurate team-player relationships
- Position-specific detection
- Rookie card identification
- Nickname recognition (e.g., "The Kid" β Ken Griffey Jr.)
- Upload card photos for automatic data extraction
- AI-powered OCR with confidence scoring
- Front and back image support
- Review and edit extracted data before saving
- Tips for best photo capture results
- Portfolio health score visualization
- Strategic insights with AI recommendations
- Advanced risk metrics and analysis
- Category performance matrix
- Investment opportunity identification
- Beautiful Tax Reports: Green-themed design with tax optimization strategies
- Professional Insurance Reports: Gradient designs with comprehensive documentation
- Market Analysis Reports: Detailed insights and comparisons
- Inventory Reports: Complete collection breakdown
- Comparison Reports: Portfolio vs market performance
- Complete user guides and tutorials
- API reference documentation
- Troubleshooting and FAQ sections
- Contributing guidelines
- Screenshot placeholders for all features
- Enhanced TypeScript types
- Improved error handling
- Performance optimizations
- Better accessibility support
- Cleaner code architecture
- Executive Dashboard with portfolio health metrics
- Enhanced Tax and Insurance Reports with modern UI
- Market Analysis and Comparison Reports
- Comprehensive documentation structure
- Multi-user authentication system
- Collections feature for card organization
- Enhanced card forms with 100+ fields
- Photo-based card entry with OCR
- Node.js 16.0 or higher
- npm or yarn
- Modern web browser
# Clone the repository
git clone https://github.com/Collectors-Playbook/sports-card-tracker.git
cd sports-card-tracker
# Install dependencies
npm install
# Start development server
npm run dev
The app will open at http://localhost:3000
- Create an account or use demo credentials
- Add your first card using the intuitive form (Classic, Enhanced, or Photo)
- Organize cards into collections
- Explore the dashboard to see your collection metrics
- Generate professional reports or eBay listings
For admin features, use:
- Email:
admin@sportscard.local
- Password:
admin123
For detailed setup instructions, see our Installation Guide.
- Quick Start Guide - Get running in 5 minutes
- Adding Cards Guide - Master card entry
- Reports Overview - Generate professional reports
- eBay Integration - Optimize your listings
- API Reference - Backend API documentation
- Contributing Guide - How to contribute
- Troubleshooting - Common issues
- FAQ - Frequently asked questions
- React 18 - Modern UI library
- TypeScript - Type-safe development
- Dexie.js - IndexedDB wrapper for local storage
- Recharts - Beautiful data visualizations
- CSS3 - Modern styling with gradients and animations
- Context API - State management
- IndexedDB - Primary data storage via Dexie.js
- LocalStorage - User preferences and settings
- SessionStorage - Temporary state management
- Node.js - JavaScript runtime
- Express - Web framework
- TypeScript - Type safety
- JWT - Authentication
- date-fns - Date manipulation
- jsPDF - PDF generation
- Concurrently - Process management
- ESLint/Prettier - Code quality
sports-card-tracker/
βββ docs/ # Comprehensive documentation
β βββ api/ # API reference
β βββ features/ # Feature guides
β βββ guides/ # User guides
β βββ screenshots/ # UI screenshots
βββ public/ # Static assets
βββ server/ # Backend server (optional)
βββ src/ # Frontend source
β βββ components/ # React components
β β βββ Dashboard/ # Main dashboard
β β βββ AdminDashboard/# Admin tools
β β βββ Reports/ # Reporting suite
β β βββ CardForm/ # Card entry forms
β β βββ Collections/ # Collections management
β β βββ About/ # About page
β β βββ EbayListings/ # eBay tools
β βββ context/ # State management
β βββ db/ # Database layer (Dexie)
β βββ services/ # Business logic
β βββ types/ # TypeScript types
β βββ utils/ # Utilities
βββ README.md # You are here!
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
# Install dependencies
npm install
# Run tests
npm test
# Lint code
npm run lint
# Build for production
npm run build
- Mobile app (iOS/Android)
- Automatic price updates via API integration
- Social features and trading
- AI card recognition (Photo-based entry added!)
- Direct eBay API integration
- Multi-user collections (Added in v2.2.0!)
- Dark mode theme
- Cloud sync and backup
- Advanced search with filters
- Blockchain authentication
- NFT integration
- Advanced AI analytics
- Voice commands
- AR card viewing
This project is licensed under the MIT License - see the LICENSE file for details.
- Sports card collecting community
- Open source contributors
- Beta testers and early adopters
- UI/UX design inspiration from modern web apps
- π Documentation
- β FAQ
- π Issue Tracker
- π¬ Discussions
- π§ Email: sct-support@collectorsplaybook.com
Live Demo | Documentation | Report Bug | Request Feature
Made with β€οΈ by collectors, for collectors
Version: 2.5.0 | Last Updated: January 2025