{"id":32862023,"url":"https://github.com/mithesh14/ipl-auction","last_synced_at":"2026-05-01T21:02:57.553Z","repository":{"id":321906056,"uuid":"1087586580","full_name":"Mithesh14/ipl-auction","owner":"Mithesh14","description":"Real-time multiplayer IPL auction platform with live bidding, team management, and playing XI selection. Built with Flask, WebSocket, and SQLite.","archived":false,"fork":false,"pushed_at":"2025-11-01T09:15:54.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-01T10:11:38.118Z","etag":null,"topics":["cursor","flask","flask-socketio","sqlite"],"latest_commit_sha":null,"homepage":"https://mithesh.pythonanywhere.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mithesh14.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-01T08:03:22.000Z","updated_at":"2025-11-01T09:15:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Mithesh14/ipl-auction","commit_stats":null,"previous_names":["mithesh14/ipl-auction"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Mithesh14/ipl-auction","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mithesh14%2Fipl-auction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mithesh14%2Fipl-auction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mithesh14%2Fipl-auction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mithesh14%2Fipl-auction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mithesh14","download_url":"https://codeload.github.com/Mithesh14/ipl-auction/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mithesh14%2Fipl-auction/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":283424652,"owners_count":26833720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-08T02:00:06.281Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cursor","flask","flask-socketio","sqlite"],"created_at":"2025-11-08T22:01:11.864Z","updated_at":"2025-11-08T22:02:06.517Z","avatar_url":"https://github.com/Mithesh14.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏏 IPL Mega Auction 2025\n\nA real-time multiplayer auction platform for conducting IPL player auctions with live bidding, team management, and playing XI selection.\n\n## ✨ Features\n\n- 🎯 **Real-time Multiplayer Bidding** - Live auction with WebSocket-based real-time updates\n- 👥 **User Authentication** - Secure login system with pre-registered users\n- 💰 **Purse Management** - Track team budgets (100 Cr per team) with automatic deduction\n- 📊 **Team Management** - Build your team and select playing XI with drag-and-drop\n- 👑 **Admin Controls** - Admin can start auctions, manage player pools, and finalize sales\n- 🌍 **Foreign Player Indicators** - Visual markers for foreign players (✈️) and captain (⭐)\n- 📡 **Live Auction Feed** - Professional auction feed showing all bids and transactions\n- 📱 **Responsive Design** - Modern, smooth UI optimized for all devices\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Python 3.10 or higher\n- pip (Python package manager)\n\n### Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/Mithesh14/ipl-auction.git\n   cd ipl-auction\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Initialize database:**\n   ```bash\n   python populate_users.py\n   ```\n\n4. **Run the server:**\n   ```bash\n   python app.py\n   ```\n\n5. **Access the application:**\n   - Open browser: `http://localhost:8080`\n   - Login with credentials (see below)\n\n## 👤 Login Credentials\n\nAll users are pre-registered with `username = password`:\n\n| Username | Password | Role |\n|----------|----------|------|\n| mithesh   | mithesh   | Admin |\n| susan     | susan     | User |\n| minigv    | minigv    | User |\n| suku      | suku      | User |\n| hemanth   | hemanth   | User |\n| thillu    | thillu    | User |\n| ruben     | ruben     | User |\n| keerthi   | keerthi   | User |\n| aki       | aki       | User |\n\n**Note:** Only `mithesh` has admin privileges (can start auctions and sell players).\n\n## 🎮 How to Use\n\n### For Admin (mithesh):\n\n1. Login with admin credentials\n2. Select a player pool category (e.g., \"Indian Bat\", \"Foreign Bat\")\n3. Click \"Start Set 1\" or \"Start Set 2\" to begin auction\n4. Players appear one by one for bidding\n5. View all bids in real-time\n6. Click \"Sell to Highest Bidder\" to finalize sale\n7. Click \"Next Player\" to continue\n\n### For Other Users:\n\n1. Login with your credentials\n2. Wait for admin to start an auction\n3. When a player is on the block, enter your bid amount\n4. Click \"Place Bid\" to participate\n5. View live feed of all bids\n6. Manage your team in \"My Team\" section\n7. Select playing XI with drag-and-drop\n8. Mark captain and view foreign players\n\n## 📁 Project Structure\n\n```\nipl-auction/\n├── app.py                 # Main Flask application\n├── wsgi.py                # WSGI entry point (for PythonAnywhere)\n├── populate_users.py      # Database initialization script\n├── export_to_excel.py     # Utility to export data to Excel\n├── game.py                # Original terminal-based version\n├── requirements.txt        # Python dependencies\n├── runtime.txt            # Python version for deployment\n├── Procfile              # Deployment configuration\n├── AUCTION.xlsx          # Player data (Excel file)\n├── static/              # Frontend assets\n│   ├── auction.css      # Main stylesheet\n│   ├── auction.js       # Auction logic\n│   └── auth.css         # Login page styles\n└── templates/           # HTML templates\n    ├── auction.html     # Main auction interface\n    └── auth.html        # Login page\n```\n\n## 🌐 Deployment\n\n### PythonAnywhere (Recommended for Flask)\n\n1. **Sign up:** https://www.pythonanywhere.com\n\n2. **Clone repository in Bash console:**\n   ```bash\n   cd ~\n   git clone https://github.com/Mithesh14/ipl-auction.git\n   cd ipl-auction\n   ```\n\n3. **Install dependencies:**\n   ```bash\n   pip3.10 install --user -r requirements.txt\n   ```\n\n4. **Initialize database:**\n   ```bash\n   python3.10 populate_users.py\n   ```\n\n5. **Create Flask web app:**\n   - Go to \"Web\" tab → \"Add a new web app\"\n   - Select Flask → Python 3.10\n   - Set WSGI file path: `/home/YOUR_USERNAME/ipl-auction/wsgi.py`\n\n6. **Configure static files:**\n   - URL: `/static/`\n   - Directory: `/home/YOUR_USERNAME/ipl-auction/static/`\n\n7. **Update main WSGI file** (`/var/www/YOUR_USERNAME_pythonanywhere_com_wsgi.py`):\n   ```python\n   import sys\n   import os\n   \n   project_home = '/home/YOUR_USERNAME/ipl-auction'\n   if project_home not in sys.path:\n       sys.path.insert(0, project_home)\n   \n   os.chdir(project_home)\n   from wsgi import app as application\n   ```\n\n8. **Reload web app** and access at: `https://YOUR_USERNAME.pythonanywhere.com`\n\n### Other Platforms\n\n- **Railway.app** - Connect GitHub repo, auto-deploys\n- **Render.com** - Connect GitHub repo, auto-deploys\n- **Heroku** - Use Procfile (already included)\n\n## 🛠️ Tech Stack\n\n- **Backend:**\n  - Flask 3.0.0 - Web framework\n  - Flask-SocketIO 5.3.5 - Real-time WebSocket communication\n  - Flask-Login 0.6.3 - User authentication\n  - SQLite - Database\n\n- **Frontend:**\n  - HTML5/CSS3 - Modern responsive design\n  - JavaScript (ES6+) - Client-side logic\n  - Socket.IO Client - Real-time updates\n\n- **Data Processing:**\n  - Pandas 2.2.0 - Excel file handling\n  - OpenPyXL 3.1.2 - Excel file parsing\n  - BeautifulSoup4 4.12.2 - Web scraping for player info\n\n## 📝 Features in Detail\n\n### Auction System\n- **Player Categories:** Indian Bat, Foreign Bat, Indian AR, Foreign AR, Indian Pace, Foreign Pace, Indian Spin, Foreign Spin, Wicketkeepers\n- **Set-based Organization:** Each category split into Set 1 and Set 2 (no duplicates)\n- **Base Pricing:** 1 Cr for regular players, 3 Cr for critical players\n- **Real-time Bidding:** All participants see bids instantly\n- **Admin Controls:** Only admin can start pools and finalize sales\n\n### Team Management\n- **Budget Tracking:** Real-time purse updates after each purchase\n- **Playing XI Selection:** Drag-and-drop interface for team selection\n- **Player Indicators:**\n  - ✈️ Foreign players\n  - ⭐ Captain designation\n- **Team Roster:** View all purchased players and manage squad\n\n### Live Feed\n- Professional auction feed showing:\n  - All bids with timestamps\n  - Bidder names and amounts\n  - Player sales with final prices\n  - Leading bid indicators\n\n## 🔧 Configuration\n\n### Admin Settings\n- Admin username is set in `app.py`: `ADMIN_USERNAME = 'mithesh'`\n- Foreign player categories defined in `FOREIGN_CATEGORIES` list\n\n### Database\n- Database file: `auction.db` (auto-created on first run)\n- Tables: users, teams, bids, auction_log\n- Initialize with: `python populate_users.py`\n\n### Player Data\n- Source: `AUCTION.xlsx` Excel file\n- Sheet name: \"Sheet1\"\n- Categories in separate columns\n\n## 🐛 Troubleshooting\n\n### Port Already in Use\nChange port in `app.py`:\n```python\nPORT = 8080  # Change to available port\n```\n\n### Database Errors\nReinitialize database:\n```bash\npython populate_users.py\n```\n\n### Static Files Not Loading\n- Ensure static files are in `/static/` directory\n- For PythonAnywhere: Configure static file mapping in Web tab\n\n### WebSocket Issues\n- Flask-SocketIO automatically falls back to HTTP polling\n- Works on all platforms including PythonAnywhere free tier\n\n## 📄 License\n\nThis project is for personal/educational use.\n\n## 👨‍💻 Author\n\n**Mithesh**\n- GitHub: [@Mithesh14](https://github.com/Mithesh14)\n\n## 🤝 Contributing\n\nFeel free to fork this project and submit pull requests for improvements!\n\n## ⭐ Show Your Support\n\nIf you find this project useful, give it a ⭐ on GitHub!\n\n---\n\n**Built with ❤️ for IPL Auction 2025**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmithesh14%2Fipl-auction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmithesh14%2Fipl-auction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmithesh14%2Fipl-auction/lists"}