Erangel Squad Scrim
- Date & Time
- 2026-03-14 21:00 IST
- Entry Fee
- ₹60
- Mode
- Squad
- Map
- Erangel
- Available Slots
- 7 / 25
No teaming. No emulators. Room ID releases 20 minutes before match.
cts-bgmi-scrims is a professional, fully functional BGMI (Battlegrounds Mobile India) esports scrims and tournament booking website. It is a real, working platform — not a static design or demo — where BGMI squads discover upcoming scrims and tournaments, fund a website wallet through Razorpay, book team slots, register their rosters, join the official tournament WhatsApp group, and receive room IDs and passwords before match time. A separate secure admin panel lets the tournament organizer run the entire operation: creating tournaments, setting fees and prize pools, publishing room credentials, sending announcements, managing payments and refunds, and exporting team data to Excel.
The product intent is a premium, high-stakes mobile-first esports experience for young Indian BGMI squads, backed by server-verified money movement and Supabase as the system of record. The audience is two-fold: Player / Team Captain squads who compete, and the Tournament Admin who operates the scrims and tournaments.
The design theme is a premium esports gaming look in black, white and ice blue, with a modern BGMI-inspired UI, professional and clean layout, smooth animations, premium tournament cards, and full responsiveness across Android, iPhone, tablet and desktop.
cts-bgmi-scrims is delivered as a responsive React web application backed by a shared FastAPI service, with Supabase providing authentication, user profiles, wallet transactions, tournament listings, team registrations, booking records and admin permissions, and Razorpay providing Indian payment collection (UPI, Google Pay, PhonePe, Paytm and cards). A MariaDB database service is provisioned alongside the backend for application-owned persistent data.
Two active human personas operate the platform: the Player / Team Captain, who books slots, pays from the wallet, registers team details, joins the WhatsApp group and reads room credentials; and the Tournament Admin, who runs tournaments, payments, announcements and data exports from a separate secure admin panel.
Current accepted behavior spans: the public homepage with logo, navigation, upcoming tournaments and live announcements; Google sign-in and registration; a personal dashboard with profile, wallet balance and histories; wallet top-up through Razorpay with server-verified balance updates; tournament cards with full match data and slot booking paid from wallet balance; a team details form editable until the registration deadline; a Join WhatsApp Group button with admin-managed links; My Bookings with booking ID, payment status, team details, room ID and password; and the admin panel covering tournaments, teams, payments, refunds, users, announcements, banners, room credentials and Excel export.
Hard constraints: never trust frontend wallet balances; verify every payment on the server; use secure Razorpay payment verification and webhooks; prevent duplicate bookings and double payments; use database transactions for wallet deductions and slot booking; protect user information and admin access; show clear payment success and failure messages; the admin panel must be separate and secure.
Removed from scope
The product is a first-party application with application-owned identity. Players establish identity through Google sign-in on a public Login page before reaching protected destinations (Tournaments booking, Team Details, My Bookings, Wallet, Dashboard). The Home, Leaderboard and Contact Us pages are publicly reachable. The admin panel is a separate, secure, role-restricted surface reachable only by an account whose admin role is set in Supabase; it is not reachable by ordinary players.
Money movement is server-authoritative. Wallet balances are never read from or written by the frontend as truth; every Razorpay payment is verified on the server (including webhooks) before the wallet balance changes, and wallet deductions and slot bookings occur inside database transactions to prevent duplicate bookings and double payments. Payment success and failure are always surfaced to the user in clear messages.
WhatsApp group membership is handled on WhatsApp itself: the platform shows a Join WhatsApp Group button that opens the official tournament invitation link and displays join instructions; the admin can change that link per tournament. The platform does not manage WhatsApp membership.
Leaderboard and Contact Us are navigation destinations on the homepage. Their content is presented as destinations within the accepted navigation; no additional scoring, ranking computation, or messaging capability beyond what the source states is introduced.
Not applicable — no reference directive with content_source was supplied.
FR-1 — Homepage identity and navigation (explicit) As a Player / Team Captain or Tournament Admin, I should see a professional esports logo and website name with Home, Tournaments, My Bookings, Wallet, Leaderboard and Contact Us navigation, so that I can reach every destination.
FR-2 — Google sign-in and registration (explicit) As a Player / Team Captain, I should log in and sign up with Google, so that I can access protected features.
FR-3 — Upcoming tournaments on homepage (explicit) As a Player / Team Captain, I should see upcoming BGMI scrims and tournaments on the homepage with prize pool, entry fee, match time, date and available slots, so that I can evaluate what to join.
FR-4 — Live tournament announcements (explicit) As a Player / Team Captain, I should see live tournament announcements on the homepage, so that I stay informed of current alerts.
FR-5 — Personal dashboard (explicit) As a Player / Team Captain, I should have a personal dashboard showing profile name, email, mobile number, wallet balance, booking history, transaction history and team registration history, so that I can review my account at a glance.
FR-6 — Add money to wallet via Razorpay (explicit) As a Player / Team Captain, I should add money to my website wallet through Razorpay using UPI, Google Pay, PhonePe, Paytm and cards, so that I can pay entry fees.
FR-7 — Server-verified wallet credit (explicit + required_inference) As a Player / Team Captain, I should have my wallet balance update automatically only after a verified successful payment, so that my balance is trustworthy.
FR-8 — Payment receipts and transaction IDs (explicit) As a Player / Team Captain, I should see payment receipts and transaction IDs, so that I have proof of payment.
FR-9 — Admin refunds and wallet transaction management (explicit) As a Tournament Admin, I should manage refunds and wallet transactions, so that player money is handled correctly.
FR-10 — Tournament card data (explicit) As a Player / Team Captain, I should see on every tournament card the tournament name, Solo/Duo/Squad mode, Erangel/Miramar/Sanhok map, match date and time, entry fee, prize pool, available slots, and rules and match information, so that I can make an informed booking decision.
FR-11 — Slot booking with wallet payment (explicit) As a Player / Team Captain, I should select a tournament, select an available team slot, and pay the entry fee using wallet balance, so that I secure a place.
FR-12 — Deduction only after successful booking with unique booking ID (explicit) As a Player / Team Captain, I should have the amount deducted only after a successful booking, receive a unique booking ID, and see a booking confirmation, so that I know my booking is real.
FR-13 — Team details form (explicit) As a Player / Team Captain, I should submit team name, captain name, captain WhatsApp number, BGMI Character ID, in-game name (IGN), Player 2 name and ID, Player 3 name and ID, Player 4 name and ID, and optional substitute player details after a successful booking, so that my roster is registered.
FR-14 — Edit team details until registration deadline (explicit) As a Player / Team Captain, I should edit my saved team details until the registration deadline, so that I can correct my roster.
FR-15 — Join WhatsApp Group (explicit) As a Player / Team Captain, I should see a Join WhatsApp Group button after successful booking and team registration that opens the official tournament WhatsApp group invitation link, with instructions to join, so that I receive match communications.
FR-16 — Admin changes WhatsApp group link per tournament (explicit) As a Tournament Admin, I should change the WhatsApp group link for every tournament, so that players always reach the correct group.
FR-17 — My Bookings (explicit) As a Player / Team Captain, I should see registered tournaments, booking ID, payment status, team details, match date and time, room ID and password when released by admin, and booking status, so that I am ready for match day.
FR-18 — Admin tournament management (explicit) As a Tournament Admin, I should create and manage tournaments, set entry fees and prize pools, set available slots, upload tournament banners, publish room IDs and passwords, and cancel tournaments, so that I can run the schedule.
FR-19 — Admin views registered teams and player contacts (explicit) As a Tournament Admin, I should view registered teams and player names and WhatsApp numbers, so that I can coordinate matches.
FR-20 — Admin sends announcements (explicit) As a Tournament Admin, I should send announcements, so that players see live tournament announcements.
FR-21 — Admin manages users and wallet transactions (explicit) As a Tournament Admin, I should manage users and wallet transactions, so that accounts and balances stay correct.
FR-22 — Export team registration data to Excel (explicit) As a Tournament Admin, I should export team registration data to Excel, so that I can share rosters offline.
FR-23 — Supabase as system of record (explicit) As the platform, I should use Supabase for authentication, user profiles, wallet transactions, tournament listings, team registrations, booking records and admin permissions, so that all state is authoritative and secure.
FR-24 — Server-side payment verification and webhooks (explicit) As the platform, I should verify every payment on the server using secure Razorpay verification and webhooks, so that wallet balances are never trusted from the frontend.
FR-25 — Prevent duplicate bookings and double payments (explicit) As the platform, I should prevent duplicate bookings and double payments, so that players are not charged twice.
FR-26 — Transactional wallet deduction and slot booking (explicit) As the platform, I should use database transactions for wallet deductions and slot booking, so that balance and slots stay consistent.
FR-27 — Protect user information and admin access (explicit) As the platform, I should protect user information and admin access, so that only authorized parties see sensitive data.
FR-28 — Clear payment success and failure messages (explicit) As a Player / Team Captain, I should see clear payment success and failure messages, so that I know the outcome of every payment.
FR-29 — Fully working platform (explicit) As a Player / Team Captain or Tournament Admin, I should have every button, login, registration, wallet, payment, booking, team form and admin dashboard function work, so that the platform handles real BGMI scrims and tournaments.
FR-30 — Admin role established in Supabase (required_inference) As a Tournament Admin, I should have my admin role set in Supabase before accessing the admin panel, so that the separate secure admin panel is protected.
Muse: Gleb Kuznetsov — cinematic arena light for BGMI scrims. Dark grounds, ice-blue glow and HUD data for a premium, fast, high-stakes night-on-a-phone esports feel.
Headline: "Cinematic arena light for BGMI scrims."
Palette (dark mode):
#05070C#0D131C#F4F8FF#8FE8FF#2FD4FF#6F8296Black ground holds ~70% of the screen. Ice blue #8FE8FF marks key numbers and borders. White text sits on dark surfaces only. Muted #6F8296 carries labels at 4.6:1 or better.
Typography:
clamp(40px, 9vw, 112px).Shape language: Sharp 2px corners on cards; thin ice-blue 1px strokes; clip-path corner notches on the top-right of each card; floating glass panels at 8% white opacity.
Layout: Full-bleed dark arena; 12-column grid with HUD rails on the left; tournament cards in a dense 3-up row that becomes 1-up on mobile; data uses ruled rows with label and value pairs.
Motion: Slow 20s glow drift behind the hero; scroll-scrubbed parallax on hero layers; slot counters count up on entry; card hover raises a 1px ice-blue edge light.
Imagery: Abstract 3D arena shards and topographic map lines in ice blue; no stock people; map thumbnails use thin line diagrams of Erangel, Miramar and Sanhok.
Readability rule: Headlines, wordmarks, labels, numbers, card text and controls stay entirely inside the viewport and their container at 375px, 768px and 1280px, wrapping or scaling to fit; no other element covers them. Imagery and decoration may crop, bleed, rotate or overlap as the direction asks, but never cover readable text or controls. With prefers-reduced-motion, provide a usable static arrangement.
The public entry is a full-bleed black hero. A large 3D ice-blue wireframe arena shard floats at the right at 60% viewport width, slowly orbiting on a 20s cycle with parallax layers on scroll. The headline sits left in 9 columns at clamp(40px, 9vw, 112px) in wide uppercase Space Grotesk. A live announcement ticker — a thin ice-blue rail — runs under the headline, scrolling match alerts and pausing on hover. The primary CTA is a solid ice-blue block with black text ("Book a Slot" / "Sign in with Google"). Tournament cards below carry a notched top-right corner, a ruled data block (mode, map, date/time, entry fee, prize pool, available slots), and a slot bar that fills with ice-blue light; prize pool numbers count up in Space Grotesk tabular figures when cards enter the viewport. Navigation is a fixed left HUD rail on desktop with icon and label pairs, and a bottom tab bar on mobile. The concept only recomposes accepted content, states and controls — no new behavior or destination.
Interaction Model: Parallax Motion Tempo: cinematic Hero Dimensionality: webgl
Landing Hero Motion Brief
Landing Hero 3D Scene Brief — DIRECTION-DERIVED A single crafted real-time object: an ice-blue wireframe arena shard (low-poly, thin-line material) orbiting slowly on a 20s cycle, lit by a drifting ice-blue glow, with topographic map-line layers behind it. The scene shows the product's defining state — a live arena awaiting squads — and must degrade to a static still under reduced motion.

cts-bgmi-scrims
Find upcoming scrims and tournaments, book your squad's slot, lock the roster and arrive at the drop with the room ready.
Upcoming Scrims
Squad, duo and solo scrims on Erangel, Miramar and Sanhok. Pick a slot, pay from your wallet and register your roster.
3 live fixtures
No teaming. No emulators. Room ID releases 20 minutes before match.
Duo only. Screenshot proof required for disputes.
Solo only. One account per player.

cts-bgmi-scrims
Find upcoming scrims and tournaments, book your squad's slot, lock the roster and arrive at the drop with the room ready.
Upcoming Scrims
Squad, duo and solo scrims on Erangel, Miramar and Sanhok. Pick a slot, pay from your wallet and register your roster.
3 live fixtures
No teaming. No emulators. Room ID releases 20 minutes before match.
Duo only. Screenshot proof required for disputes.
Solo only. One account per player.
No comments yet. Be the first!