You are an expert full-stack developer.
Your task is to generate a fully
working mobile-first Tournament Web App called **"Turnament Pro"**, using ONLY:
✅ HTML
✅ Tailwind CSS
✅ JavaScript (for UI only, NO AJAX)
✅ PHP
✅ MySQL DB
✅ Font Awesome (icons only)
🚫 NO external frameworks like React, Vue, Laravel, Bootstrap, jQuery, or AJAX.
All actions must be handled via traditional PHP form submissions + page reloads.
The UI should look like a native mobile app: responsive, clean, and modern.
---
## ✅ FILE STRUCTURE (MINIMIZED)
📁 Htdocs Folder
┣ 📁 common
┃ ┣ config.php → DB connection (host: 127.0.0.1, user: root, pass: root)
┃ ┣ header.php → Top navigation + wallet balance
┃ ┗ bottom.php → Bottom navbar (Home, My Tournaments, Wallet, Profile)
┣ 📁 admin
┃ ┣ login.php → Admin login
┃ ┣ dashboard.php → Admin dashboard + manage
tournaments.php/users.php/settings.php
┣ index.php → User homepage (list tournaments + join button)
┣ login.php → User login/signup
┣ my_tournaments.php→ User joined tournaments
┣ wallet.php → Wallet with Add Money & Withdraw
┣ profile.php → User profile + UPI ID save
┣ update_database.php→ DB migration for new features
┗ .htaccess (optional clean URLs)
---
## ✅ CORE FEATURES
### 1. User Features
- Register/login via PHP sessions.
- View all active tournaments, join with wallet balance deduction.
- Wallet system (₹): Add Money (UPI QR), Withdraw (manual approval).
- Profile management (username, email, password, UPI ID).
- My Tournaments: show all joined tournaments + results.
### 2. Admin Features
- Login with default credentials (admin/admin123).
- Dashboard with:
- Create/Edit/Delete tournaments.
- Manage players, Room ID & Password.
- Select winner → credit prize pool to wallet, update status = Completed.
- View deposit requests → Approve/Reject.
- View withdrawal requests → Complete/Reject.
- Update settings (Admin UPI ID + QR image upload).
- Transactions log.
---
## ✅ DATABASE SCHEMA
Give table creator sql code
users(id, username, email, password, wallet_balance, upi_id, created_at)
- admin(id, username, password)
- tournaments(id, title, game_name, entry_fee, prize_pool, match_time, room_id,
room_password, status, created_at)
- participants(id, user_id, tournament_id)
- transactions(id, user_id, amount, type ENUM('credit','debit'), description,
created_at)
- deposits(id, user_id, amount, transaction_id, status
ENUM('Pending','Completed','Rejected'), created_at)
- withdrawals(id, user_id, amount, status ENUM('Pending','Completed','Rejected'),
created_at)
- settings(id, upi_id, qr_code)
---
## ✅ SECURITY & UX
- Disable right-click, text selection, zoom (JS).
- Tailwind dark theme for consistency.
- PHP prepared statements for SQL injection protection.
- PHP session validation for login state.
- Clear redirects for login/logout.
---
## ✅ IMPORTANT BEHAVIOR
- Tournament Join → Deduct entry fee from wallet, add to participants.
- Declare Winner → Add prize pool to winner’s wallet, mark tournament completed.
- Deposit flow → User submits UPI Txn ID, Admin approves → balance credited.
- Withdrawal flow → User requests, Admin manually sends & marks completed.
- Settings → Admin sets UPI ID + QR, shown in wallet modal for deposits.
---
## 🎁 FINAL DELIVERABLE
- Full project with above folder structure.
- Every PHP file must be fully coded with HTML+Tailwind+FontAwesome.
- install.php must auto-create DB + insert default admin.
- update_database.php must safely alter schema for upgrades.
- App name everywhere should be **Turnament Pro**.
- All pages and complete app should be mobile first responsive