Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Node.js MySQL Express Tailwind CSS WhatsApp

🎮 MineGaming — Gaming Cafe Management Template

Everything you need to run a gaming lounge, LAN center, or e-sport cafe.

Station tracking · Session timers · POS billing · Player loyalty · WhatsApp receipts · Revenue analytics · 70+ customizable settings

FeaturesAdmin PanelsCustomizationQuick StartTech Stack


License Last Commit Repo Size Stars PRs Welcome


✨ Feature Overview

🖥️ Station Management

  • Live status board — Available / Occupied / Maintenance
  • Real-time occupancy tracking & SSE auto-refresh
  • Filter by type: PS5, PS4, Xbox, PC, Pool, VR, Dining
  • Naming patterns, display name overrides, drag-and-drop grid
  • Station CRUD with soft delete

⏱️ Session & Gameplay

  • Start / Pause / Resume / Stop / Transfer sessions
  • Prepaid & postpaid billing with auto-lock
  • Bill splitting across consoles and dining tables
  • Play hours wallet system for cashless play
  • Grace period, warnings, max duration caps

🧾 POS & Billing

  • Full point-of-sale with category management
  • Inventory tracking & low-stock alerts
  • Coupon codes with discount % or flat amount
  • Tax label & rate config (GST, VAT, HST, IVA)
  • Service charge, rounding mode, decimal places

👥 Players & Loyalty

  • Membership with Bronze / Silver / Gold tiers
  • Auto-earn points per play hour & per ₹ spent
  • Tier threshold customization
  • Session history & cafe purchase logs
  • Player blacklisting & notes

📞 WhatsApp Integration

  • Automated digital billing via WhatsApp Web
  • Queue-based anti-ban delivery with pacing
  • Live chat messenger connected to WhatsApp
  • Send PDF invoices & text receipts
  • Booking notifications & staff alerts

📊 Revenue Analytics

  • Daily / Weekly / Monthly revenue metrics
  • 14-day revenue trend chart (Chart.js)
  • Peak hour heatmap for staffing insights
  • Shift logs with cash-in-drawer tracking
  • Itemized receipt viewer

📅 Bookings & Appointments

  • Public booking form on landing page
  • Admin appointment scheduler with conflict detection
  • Auto-confirm toggle, deposit %, cancel window
  • Max days advance & min notice hours
  • Guest count limits per booking

🔐 Security & Access

  • Role-based access (SuperAdmin / Manager / Attendant)
  • Session timeout, max login attempts
  • Maintenance IP whitelist
  • Maintenance mode with custom message
  • Data retention policies & auto-backup

🎨 Brand Customization

  • 70+ settings across 10 admin tabs
  • Color pickers, font selection, logo upload
  • Custom favicon, invoice prefix, receipt footer
  • Social media links, announcement banner
  • Custom footer HTML, cookie consent bar

📋 Admin Modules

Module File What it does
Seating Status dashboard.php Live station grid, session management, food ordering
Live Sessions sessions.php Active session list, pause/resume/extend/transfer/checkout
Station Config stations.php CRUD for stations, batch create, maintenance mode
Billing & Rates billing.php Hourly rates per station type, coupons, type visibility
Point of Sale pos.php Cafe POS with categories, inventory, cart, checkout
Food Tables food_tables.php Dining table management, merge sessions
Player Roster players.php Player search, loyalty, play hours, blacklist
Appointments appointments.php Booking scheduler with drag-and-drop
Revenue Analytics revenue.php Daily/weekly/monthly metrics, charts, heatmap
WhatsApp Dashboard whatsapp.php QR connect, anti-ban queue, live messenger
System Settings settings.php 10-tab settings panel — see below
Staff Accounts manage_users.php User CRUD with role assignment
Security Logs staff.php Audit trails, database backup & download

⚙️ 10 Settings Tabs — 70+ Customizable Options

Every aspect of the business can be configured from a single settings dashboard — no code editing required.

🏪 Brand — Business info, colors, fonts, logo
Setting Description
Business Name, Tagline, Address Public-facing identity
Phone, Email, Year Est. Contact details
Currency Symbol, Invoice Prefix Billing format
Primary / Secondary Color Dashboard & site accent colors
Font Family Inter, Poppins, Roboto, Montserrat + more
Logo Upload (PNG/JPG) Brand logo everywhere
Favicon URL Browser tab icon
Receipt Footer, Copyright Legal text
WhatsApp Phone, Cover Image Contact & receipts
🌐 Website — Hero, sections, social links, opening hours
Setting Description
Hero Title, Subtitle, About Text Landing page content
Fuel Bar / Cafe Description Menu section text
Theme Mode Dark / Light / Auto
Hero Video URL, Overlay Opacity Background media
Contact Form Email Inquiry destination
Announcement Banner + Toggle Top bar promos
Cookie Consent Banner GDPR compliance
Social Links (IG, FB, X, YT) Footer icons
Section Visibility Toggle Hero, Live Status, Pricing, Booking, Loyalty, Cafe
Opening Hours Per-day open/close times
Loyalty Tier Descriptions Bronze/Silver/Gold text
Default Food Items Quick-order modal items
Show Live Status / Pricing Per-section visibility
Custom Footer HTML Scripts or embed code
🖥️ Stations — Naming, behavior, refresh rate
Setting Description
Display Name Overrides Per-type public labels
Naming Pattern e.g. {type}-{n:02d}
Default Hourly Rate (₹) Fallback rate
Min Billing Minutes Minimum charge
Rounding Interval (min) Billable time rounding
Occupancy Refresh (seconds) SSE push frequency
Auto-lock Toggle Prepaid auto-complete
💰 Billing — Tax, currency, rounding, discounts
Setting Description
Tax Label GST / VAT / Sales Tax / IVA / HST
Currency Position Before (₹100) or After (100 ₹)
Decimal Places 0 or 2
Rounding Mode Nearest / Up / Down
Service Charge % Optional fee on all bills
Max Discount % Cap on manual discount
Tax-Inclusive Pricing Toggle
Min Cafe Order (₹) Delivery threshold
Invoice Due Days Credit/tab period
🔔 Notifications — Sounds, Slack, email, SMS
Setting Description
Sound Effects Enable/disable all sounds
Checkout Bell Audible alert on payment
Timer End Sound URL Custom MP3 for expiry
Slack Webhook URL Low-stock & alert channel
Daily Report Email End-of-day summary
SMS API Key Booking confirmations
🛡️ Security — Timeouts, lockouts, IP whitelist
Setting Description
Session Timeout (min) Auto-logout idle users
Max Login Attempts Lockout threshold
Maintenance IP Whitelist Bypass during downtime
🧾 Receipt — Print layout, logo, auto-print
Setting Description
Show Logo on Receipts Brand in header
Show Tax Breakdown Line-item visibility
Auto-print Dialog Open on checkout
Custom Footer Message Thank-you note
📅 Bookings — Auto-confirm, deposits, limits
Setting Description
Auto-confirm Minutes 0 = manual review
Max Days Advance Booking horizon
Min Notice Hours Last-minute cutoff
Deposit Required % Prepayment %
Free Cancel Window (hrs) Full refund period
Max Guests Per Booking Group size cap
Staff Notify on Booking Toggle alert
⏱️ Sessions — Duration, grace period, features
Setting Description
Default Session Type Prepaid / Postpaid
Max Duration Hours 0 = unlimited
Grace Period Minutes Time before auto-lock
Warning Before End (min) Player alert
Allow Pause / Transfer Feature toggles
Min Postpaid Minutes Floor charge
Extra Controller Rate Add-on pricing
👥 Players — Auto-register, loyalty points, tiers
Setting Description
Auto-register on Phone First-time creation
Points Per Play Hour Earning rate
Points Per ₹ Spent Cafe purchase rate
Bronze / Silver / Gold Thresholds Tier unlock levels
Tier Descriptions Custom per-tier text
⚙️ System — SEO, timezone, backup, maintenance
Setting Description
Page Title, Meta Description SEO tags
OG Image URL Social share preview
Timezone, Date/Time Format Regional display
Data Retention (days) Log auto-purge
Backup Time Scheduled hour
Auto-backup Toggle Daily dump
Maintenance Mode + Message Offline notice

🔧 Tech Stack

Layer Technology Purpose
Frontend PHP 8+, Tailwind CSS, Vanilla JS Dashboards & public site
Backend API Node.js, Express.js REST endpoints
Database MySQL / MariaDB All persistent data
Realtime Server-Sent Events (SSE) Live station/session updates
Messaging whatsapp-web.js Automated billing via WhatsApp
Payments PhonePe Gateway UPI payments
Auth JWT + bcrypt Role-based access control
Scheduling Flatpickr DateTime pickers
Charts Chart.js Revenue graphs & heatmaps

🚀 Quick Start

Prerequisites

  • PHP 8.0+
  • Node.js 18+
  • MySQL 8.0+
  • npm

1. Database

mysql -u root -p -e "CREATE DATABASE gaming_zone"
mysql -u root -p gaming_zone < database/schema.sql

2. Backend

cd backend
cp .env.example .env     # Edit with your DB credentials
npm install
npm start                # Runs on port 8000

3. Frontend

php -S localhost:1000

Open http://localhost:1000 — the frontend auto-detects the backend URL.

Default Dev Logins

Role Username Password
SuperAdmin admin admin123
Manager manager manager123
Attendant attendant attendant123
Customer Register on login page

Quick-login buttons appear automatically on localhost. Change the business name in Settings → Brand.


🔐 Environment Variables

Variable Default Required Description
PORT 8000 No Backend server port
DB_HOST 127.0.0.1 No MySQL host
DB_PORT 3306 No MySQL port
DB_USER root No MySQL user
DB_PASS Yes MySQL password
DB_NAME gaming_zone No Database name
JWT_SECRET Yes JWT signing secret
CORS_ORIGIN http://localhost:1000 No Frontend URL for CORS
TAX_PERCENT 10.00 No Default tax rate

📁 Directory Structure

├── index.php                    # Public landing page
├── config.php                   # Smart frontend config (auto-detects backend URL)
├── pages/                       # Admin & customer panels (13 modules)
│   ├── dashboard.php            # Seating status & session controls
│   ├── sessions.php             # Live session management
│   ├── stations.php             # Station CRUD & maintenance
│   ├── billing.php              # Pricing rules, coupons, type visibility
│   ├── pos.php                  # Point of sale, categories, inventory
│   ├── appointments.php         # Booking scheduler
│   ├── revenue.php              # Revenue analytics & charts
│   ├── players.php              # Player management & loyalty
│   ├── food_tables.php          # Dining table management
│   ├── settings.php             # 10-tab system settings (70+ options)
│   ├── whatsapp.php             # WhatsApp connection & messaging
│   ├── staff.php                # Audit logs & database backup
│   └── manage_users.php         # Staff account management
├── js/                          # 15 frontend JavaScript modules
├── css/                         # Tailwind-based stylesheet
├── database/
│   └── schema.sql               # Complete database schema
└── backend/
    ├── server.js                # Express entry with auto-migrations
    ├── routes/                  # 15 API route modules
    ├── middleware/               # JWT auth, validation, role guards
    ├── utils/                   # Helper utilities, WhatsApp client
    └── config/                  # Database pool, app settings

🤝 Contributing

Contributions are welcome! Open an issue first to discuss changes.

  1. Fork the repo
  2. Create your branch (git checkout -b feature/amazing-feature)
  3. Commit (git commit -m 'Add amazing feature')
  4. Push (git push origin feature/amazing-feature)
  5. Open a Pull Request

⭐ Star this repo if you find it useful

Built for gaming lounge operators, by operators.

Report BugRequest FeatureGitHub


MIT Last Commit Size


💼 Need Help Setting Up?

Paid setup, customization, and deployment assistance available.

WhatsApp

+91 94141 36480

About

Soleila - Gaming lounge management system with session tracking, POS billing, player loyalty, WhatsApp receipts, and revenue analytics.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages