Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameDock 🎮

PHP MySQL JavaScript CSS3 License

GameDock is a full-featured web platform combining digital game commerce, console game rentals, peer-to-peer game sales, and a real-time community forum. Built with a server-rendered PHP foundation and enhanced with modern JavaScript and interactive CSS styling.


🌟 Key Features

🛒 1. Dual Storefront (Buy vs. Rent)

  • PC Digital Ownership (Buy): Purchase digital PC game keys with permanent library access.
  • Console Rentals (Rent): Rent PlayStation (PS4/PS5) and Xbox game discs/licenses with flexible rental durations (3, 7, 15, or 30 days).
  • Interactive Library Marquee: Dynamic, dual-track drifting game showcase on the homepage that responds to mouse movement and touch drag.
  • Detailed Game Specs: Overview of platforms, categories, pricing, stock levels, and rental availability.

🛍️ 2. Shopping Cart, Wishlist & Checkout

  • Unified Cart System: Supports purchasing PC games and renting console games in the same order with custom durations.
  • Wishlist Management: Save favorites and quickly toggle games in/out of your wishlist from cards or detail views.
  • Transaction-Safe Checkout: Database transactions ensure stock decrements and purchase/rental records occur atomically.
  • Printable Invoices / Receipts: Clean, print-ready order invoice view (receipt.php) formatted for paper and PDF export.

💬 3. Community Forum & Real-Time Interactions

  • Discussion Threads: Create and browse gaming threads with rich formatting and author details.
  • Hold-to-Pick Emoji Reactions: Facebook-style reaction trigger supporting instant tap-to-like or hold-to-pick from an animated emoji tray (👍 Like, ❤️ Love, 😆 Haha, 😮 Wow, 😢 Sad, 😠 Angry), plus a dedicated 👎 Dislike toggle.
  • AJAX Commenting System: Expandable comment threads with real-time additions, inline content editing, and deletion without page reloads.

👤 4. Profiles, Avatars & Billing

  • User Dashboard: View purchase history, active rentals with expiration dates, saved games, and submitted sales.
  • Illustrated Avatar Gallery: Choose from 81 bundled vector avatars with gender filtering (Male / Female).
  • Deterministic Avatar Fallback: Multiplicative hashing algorithm assigns unique, consistent avatars to anonymous or unconfigured users.
  • Safe Billing Storage: Tokenized card management that safely stores only card brand, last 4 digits, and expiry date.

🎨 5. Multi-Currency & Theme Customization

  • Multi-Currency Support: On-the-fly price conversion across 12 currencies (USD, EUR, GBP, JPY, CAD, AUD, BDT, INR, etc.) stored via cookie.
  • Zero-FOUC Dual Themes: Dark mode ("Aurora Drift") with ambient glow and Light mode ("Warm Paper") rendered server-side to eliminate theme flashing.
  • Interactive Custom Cursor: Theme-aware magnetic cursor with trailing particles and sparkle effects.
  • Footer Battle Minigame: Real-time animated SVG arena simulation featuring selectable heroes (Volt, Ember, Bolt-7, Rune, Fern) battling Shade.

🛠️ Technology Stack

Layer Technologies / Tools
Backend PHP 8.2+ (Procedural / Script-based with PDO prepared statements)
Database MySQL / MariaDB (InnoDB, UTF-8 mb4, Foreign Key Constraints)
Frontend Styling Custom CSS3 (Custom properties, Flexbox, CSS Grid, Keyframe Animations)
Frontend Scripting JavaScript (ES6+, jQuery 3.7.1, Pointer Events, requestAnimationFrame)
Typography & Icons Google Fonts (Unbounded, Hanken Grotesk), Native Unicode Emoji, Inline SVG
Server Apache HTTP Server (XAMPP / WAMP / LAMP)

📂 Repository Structure

GameDock/
├── css/
│   └── style.css                      # Master stylesheet (design system, themes, animations)
├── images/                            # Raw box art, cover images, and favicon
├── includes/                          # Shared PHP partials & helpers
│   ├── auth_check.php                 # Session management & Remember-Me auth
│   ├── avatar_gallery_data.php        # 81-avatar roster data & hash seeder
│   ├── connection.php                 # PDO MySQL database connection
│   ├── currency.php                   # Multi-currency rates & price formatters
│   ├── footer.php                     # Footer layout & SVG battle arena
│   ├── header.php                     # Navigation, cart badge, and theme rendering
│   ├── reaction_icons.php             # Forum reaction definitions & emoji maps
│   └── cache/
│       └── rates_cache.json           # Cached exchange rate data
├── js/                                # Client-side interactivity scripts
│   ├── app.js                         # Nav toggles, theme switch, hero parallax, library marquee
│   ├── avatar-builder.js              # Avatar gallery filter and AJAX selector
│   ├── cursor.js                      # Custom interactive trailing cursor & sparkles
│   ├── footer-battle.js               # Auto-battling SVG canvas minigame
│   ├── forum-comments.js              # AJAX comments thread management
│   └── forum-reactions.js             # Facebook-style hold-to-pick emoji reactions
├── uploads/                           # Web-accessible game covers & avatars
│   └── avatars/gallery/               # 81 pre-bundled avatar PNGs
├── buy.php                            # Direct PC purchase checkout
├── cart.php                           # Shopping cart page
├── cart_action.php                    # Cart add / remove action handler
├── checkout_process.php               # Multi-item cart checkout transaction
├── forum.php                          # Community discussion board
├── forum_comment_action.php           # AJAX comment CRUD endpoint
├── forum_reaction_action.php          # AJAX reaction toggle endpoint
├── game_details.php                   # Single game details & purchase/rental actions
├── gamedock.sql                       # Full database schema and initial seed data
├── home.php                           # Homepage with hero & animated marquee
├── login.php / register.php           # Authentication pages
├── pc_games.php                       # PC digital game catalog
├── profile.php                        # User profile dashboard
├── ps_rentals.php / xbox_rentals.php  # Console rental catalogs
├── receipt.php                        # Order invoice receipt
├── rental_checkout.php                # Direct rental checkout flow
├── sell_game.php                      # C2C game listing submission
└── wishlist.php                       # User saved games wishlist

🚀 Getting Started

Prerequisites

  • Web Server: Apache (via XAMPP, WAMP, or standalone Apache)
  • PHP: Version 8.0 or higher (PHP 8.2 recommended)
  • Database: MySQL 5.7+ or MariaDB 10.4+

Installation & Setup

  1. Clone the Repository: Clone or copy the project into your web server's root directory (e.g. C:\xampp\htdocs\ on Windows):

    git clone https://github.com/luminancexe/GameDock.git C:/xampp/htdocs/GameDock
  2. Database Setup:

    • Start Apache and MySQL in your XAMPP Control Panel.
    • Open phpMyAdmin (http://localhost/phpmyadmin) or MySQL CLI.
    • Create a database named gamedock:
      CREATE DATABASE gamedock CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    • Import the schema file:
      mysql -u root -p gamedock < gamedock.sql
      (Or use phpMyAdmin's Import tab to upload gamedock.sql)
  3. Configure Database Connection: Open includes/connection.php and verify your MySQL host, port, and credentials:

    $host = "localhost";
    $port = "3306";       // Change to 3307 if your local MySQL runs on 3307
    $username = "root";
    $password = "";
    $dbname = "gamedock";
  4. Verify Database Connection: Visit http://localhost/GameDock/db_connection_check.php in your browser to verify the connection and table row counts.

  5. Launch Application: Open your browser and navigate to:

    http://localhost/GameDock/
    

🔑 Demo Account

You can register a new account via register.php or use the pre-seeded demo user:

  • Email: demo@gamedock.com
  • Password: password123

👥 Authors & Contributors

About

GameDock is an all-in-one gaming platform featuring digital PC game sales, PlayStation/Xbox rentals, a user-to-user game exchange, an interactive community forum with emoji reactions, dynamic theme switching, and avatar customization.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages