
Hookah Hub
公開済みhookahhub.pro はシーシャ文化の情報・レーティングプラットフォームです。278 ブランド・14,281 種のタバコフレーバーのカタログ、5 つの数値基準によるレーティング、毎日のおすすめ付きミックスジェネレーター、自分のタバココレクションを管理する「マイ棚」を備えています。ビジネス向けには「協業」セクションを用意:Apple/Google Wallet のゲストカード、テーブルの QR メニュー、スタッフ用画面。Next.js 15、PostgreSQL、Redis、5 言語対応。コンテンツは 18+。
/// 主な機能
- 278 ブランド・14,281 種のタバコフレーバーのカタログ、さらにシーシャ本体とアクセサリーも収録
- 5 つの基準によるレーティング — 味、煙量、強さ、熱耐性、総合評価。平均値は非正規化して高速に表示
- カタログから毎日の「今日のミックス」を提案するミックスジェネレーター
- 「マイ棚」— 自分のタバココレクション。カタログに無い缶はモデレーション後に新しいフレーバーとして登録される
- B2B セクション「協業」:QR コードと来店履歴付きの Apple Wallet / Google Wallet ゲストカード
- テーブルの QR ミックスメニュー — 配合、グラム数、ボウル、熱管理 — と店舗の在庫だけから組むジェネレーター
- ロールと BAN 管理を備えた NextAuth v5。Redis はキャッシュと rate limiting をフェイルセーフ運用
- RTL のアラビア語を含む 5 言語対応:UI 文字列と DB コンテンツを分離し、locale → En → Ru のフォールバック
/// スクリーンショット
プロジェクトについて
Hookah Hub は私たち自身のプロダクトであり、「シーシャ文化の愛好家コミュニティ」をタグラインとする情報・レーティングプラットフォームです。タバコのレーティング、ミックスレシピ、シーシャとアクセサリーのレビュー、ガイド、シーシャの歴史に関する読み物をひとつにまとめ、健康に関する独立したセクションと、シーシャ店・ラウンジ向けの B2B ツールも備えています。コンテンツは 18+ です。ローンチは 2026 年 2 月。
サイトのセクション:タバコ、レシピ、ジェネレーター、ガイド、歴史、シーシャ、アクセサリー、健康、協業。
カタログとレーティング
プラットフォームの中核はカタログです:278 ブランド・14,281 種のタバコフレーバーに加え、シーシャ本体とアクセサリー。各アイテムは 5 つの数値基準 — 味、煙量、強さ、熱耐性、総合評価 — で採点されます。
これは意図的な設計判断で、テキストのコメント機能はありません。1 ユーザー・1 エンティティにつき評価は 1 つ。平均値は親テーブルに非正規化されているため、この規模のカタログでもオンザフライの集計なしで、一覧表示とレーティング順ソートが高速に動きます。
ミックスジェネレーターと「マイ棚」
ジェネレーターはミックスを組み立て、毎日の「今日のミックス」を提案します。これだけの規模のカタログの中で道しるべになる機能です。
「マイ棚」はユーザー自身のタバコ缶コレクションです。手元にあるものにカタログで印を付ければ、ジェネレーターは一万四千種すべてではなく、その中だけからミックスを提案します。欲しいフレーバーがまだカタログに無ければ、ユーザーが自分の缶を手動で登録できます。そうした登録はモデレーションを経てカタログの新しいフレーバーになる — カタログが増えていくチャネルのひとつです。
ビジネス向け
「協業」セクションは、シーシャ店・ラウンジとメーカーという 2 つの対象に向けた B2B ツールです。
店舗向けには:QR コードと来店履歴付きの Apple Wallet / Google Wallet ゲストカード、テーブルに置ける QR ミックスメニュー(配合、グラム数、ボウル、熱管理)、その店舗のバーの在庫だけに絞ったミックスジェネレーター、そしてスタッフ用の専用画面。ブランド向けには、カタログ内の自社データの管理機能を提供します。
各方向には準備段階を正直に明記しています:稼働中 / パイロット / 開発中 — 願望を実績として見せることはしません。
技術的な特徴
- Next.js 15 App Router、React 19、TypeScript
- PostgreSQL 16 を Prisma 経由で利用。Redis 7 はキャッシュと rate limiting をフェイルセーフ運用 — アプリは Redis なしでも動作し続けなければならない
- NextAuth v5(JWT)、Credentials と Google によるログイン、USER/MODERATOR/ADMIN のロール、BAN 管理
- RSC によるレンダリング。静的生成は意図的に使わず、force-dynamic + Redis によるページキャッシュ
- 一元管理されたリミットによる rate limiting。IP は
X-Forwarded-Forの最後の要素のみから取得(Traefik 配下)。入力バリデーションはすべて zod - next-intl、Tailwind CSS、Framer Motion、Recharts
- テストは Vitest と Playwright — モバイル専用の実行を含む
- デプロイは Docker(standalone)でセルフホストの Dokploy へ
ローカライゼーション
ローカライゼーションは二層構造です。UI 文字列は messages/{locale}.json に、DB のコンテンツはロケール接尾辞付きのカラム(nameRu、nameEn など)に格納され、locale → En → Ru のフォールバックが働きます。対応言語は 5 つ:ロシア語、英語、アラビア語(RTL レイアウト)、日本語、中国語。
責任あるスタンス
プラットフォームのコンテンツは 18 歳以上の方を対象としています。独立した「健康」セクションは情報提供のための資料であり、喫煙の推奨ではありません。Hookah Hub は、すでにこのテーマに関心を持つ人のための情報・レーティングプラットフォームであって、それを助長するサービスではありません。サイトは何も販売せず、タバコ製品の広告でもありません。