Skip to content

428lab/events

Repository files navigation

events lab

イベントの管理、全部やる。

events lab は、アイディアソン/ハッカソンに限らず、あらゆるイベントの告知・参加募集・当日の進行・採点・表彰までを一つで回せるイベント運営プラットフォームです。将来的には「会場を提供したい人」と「イベントを開きたい人」をつなぐマッチング、参加履歴をまとめたポートフォリオ、実績(アチーブメント)、ネイティブアプリまでを目指します。

公開URL: https://events.kojira.io

コンセプト

  • イベント運営のワンストップ化 — 募集から進行・採点・表彰まで分断なく。
  • 種類を問わない — ハッカソンに限らず、勉強会・交流会・コンテストなど汎用的に。
  • 当日がいちばん楽しい — プレゼン・採点・集計・表彰をリアルタイム演出付きで。
  • 続けるほど価値が貯まる — 参加・運営の履歴や受賞がポートフォリオ/実績になる。

技術スタック

  • フロント: React + Vite + MUI(TypeScript)
  • バックエンド: Hono(Node.js)+ SQLite(自前の薄いリポジトリ層)
  • 認証: Discord OAuth2
  • リアルタイム: SSE(進行モード・採点状況の同期)
  • 公開: Cloudflare Tunnel
  • モノレポ: pnpm workspace(apps/web / apps/server / packages/shared

開発と本番はディレクトリ・DB・環境変数を分離しています(詳細は docs/design.md、デザインルールは DESIGN.md)。

ロードマップ / 実装状況

✅ 実装済み

  • Discord でログイン
  • イベントの作成・編集・削除
  • 公開/非公開の切り替え(編集画面のトグル)
  • イベント画像のアップロード(OGサイズ 1200×630 にクロップ・WebP保存)
  • SNS シェア時の OG 画像対応(公開イベント)
  • 公開トップ:開催中・開催予定イベントの一覧(開催直前順・ページング)
  • 公開イベントは未ログインでも閲覧可(参加者数・参加者一覧の表示)
  • 参加登録・解除、参加者一覧
  • 参加枠(複数枠・定員・先着順/抽選)※抽選は即時ランダム実行のみ
  • マイページ(開催中・過去に参加したイベント)
  • 成果物の登録(プレゼン資料URL・ソースコードURL)
  • イベントごとのロール(参加者/スタッフ/審査員/観覧者)
  • アプリ運営管理者ロール(環境変数で Discord ID 指定)
  • 採点項目の管理(4段階・デフォルト項目)
  • 採点(自己採点の制限、採点の修正)
  • 集計プレビュー・採点進捗・締切
  • 進行モード(通常/プレゼン/集計/表彰)と SSE によるリアルタイム連動・強制遷移
  • プレゼンモード(発表チーム表示・右ペイン採点・参加者アイコン)
  • 表彰設定(ランキング賞・特別枠の CRUD、賞名/内容の編集、ドラッグ並び替え、受賞者割当)
  • 表彰式の演出(下位賞から段階発表・レーダーチャート・紙吹雪・ドラムロール/ファンファーレ)

🚧 これから

  • 抽選の抽選日時設定と、スタッフによる当選操作画面(手動当落・結果確認)
  • キャンセル待ちの自動繰り上げ
  • チーム参加(チーム作成・リーダー・チーム単位の採点/成果物)
  • 資料アップロード/Google スライド連携で、サイト上でそのままプレゼン(スライド表示・進行同期)
  • アンケート機能(オフライン会場向けの大きな QR コード表示)
  • ユーザーのポートフォリオページ(運営・参加したイベントと受賞結果の一覧)
  • アチーブメント(例: イベント10回運営/初イベント頓挫/100人と交流 など多数の実績バッジ)
  • ハッカソン以外も含む汎用イベント進行への対応強化
  • 会場マッチング(会場提供者の会場登録、無料/有料などの利用条件設定)
  • イベント運営者からの「会場募集」掲載とマッチング
  • ネイティブアプリ(iOS / Android)

開発

pnpm install
pnpm dev          # web(127.0.0.1:4280) + API(4281)

開発では Discord ログインと開発用ログインの両方が使えます(.env.example 参照)。

本番デプロイ

本番は開発ツリーとは別ディレクトリで稼働し、Cloudflare Tunnel で公開します。

pnpm build && pnpm start   # 本番サーバー(:8080)
pnpm tunnel                # Cloudflare Tunnel

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages