Portal game ala CrazyGames โ kumpulan game buatan sendiri, langsung main di browser.
Games Hub adalah portal web tempat mengumpulkan berbagai game mini dalam satu tempat. Setiap game bisa dimainkan langsung di browser tanpa perlu install. Dibangun dengan Next.js sebagai "kulit" portal, sementara tiap game tetap berupa aplikasi statis mandiri yang di-embed lewat iframe โ jadi gampang menambah game baru tanpa harus menulis ulang ke React.
- Grid game responsif dengan kartu interaktif (hover effect, badge New)
- Pencarian game secara real-time
- Filter kategori (Board, Strategy, Puzzle, Action, Arcade)
- Halaman main per-game โ game terbuka embed di dalam portal
- Arsitektur plug-and-play โ tambah game cukup drop folder + satu entry registry
| Game | Kategori | Mode |
|---|---|---|
| Quoridor | Board ยท Strategy | 2 Pemain / vs AI |
- Framework: Next.js 16 (App Router)
- Bahasa: TypeScript
- Styling: Tailwind CSS v4
- Deploy: Vercel
- Game engine: Vanilla HTML / CSS / JavaScript (per game)
# Install dependency
npm install
# Jalankan dev server
npm run devBuka http://localhost:3000 di browser.
# Build production
npm run build && npm startGAMES-HUB/
โโโ app/
โ โโโ layout.tsx # Header, branding, footer
โ โโโ page.tsx # Home: hero + browser game
โ โโโ game/[slug]/page.tsx # Halaman main game (iframe)
โโโ components/
โ โโโ GameCard.tsx # Kartu game
โ โโโ GameBrowser.tsx # Search + filter kategori
โโโ lib/
โ โโโ games.ts # Registry metadata semua game
โโโ public/
โโโ games/
โโโ quoridor/ # Game statis mandiri (target iframe)
- Taruh folder game (HTML/CSS/JS statis) ke
public/games/<slug>/ - Tambahkan satu entry di
lib/games.ts:
{
slug: "nama-game",
title: "Nama Game",
tagline: "Deskripsi singkat untuk kartu.",
description: "Deskripsi lengkap untuk halaman game.",
icon: "๐ฒ",
categories: ["Puzzle"],
embed: "/games/nama-game/index.html",
isNew: true,
}Game otomatis muncul di grid dan mendapat halaman /game/<slug> sendiri.
Dirilis di bawah lisensi MIT.