ct-lottery:3D 球体抽選アプリ(年会向け)

Web

概要

ct-lottery は、Vue3 と Three.js を組み合わせた視覚的に凝った 3D 球体抽選アプリの二次開発プロジェクトです。サーバー側には Express を利用し、抽選データの管理・入出力を担います。賞品はテキスト・画像で設定でき、抽選ルールもカスタマイズ可能。参加者リストは Excel 一括インポートが可能で、抽選結果は Excel 形式でエクスポートできます。大画面表示(年会やイベント用)に適した UI と、ロック・リセットなど運用に便利な管理機能が備わっており、元プロジェクト(LOG1997/log-lottery)をベースに実用的な改善を施した構成です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 4
  • フォーク数: 0
  • ウォッチャー数: 4
  • コミット数: 15
  • ファイル数: 66
  • メインの言語: Vue

主な特徴

  • 3D 球体を用いた視覚的に派手な抽選演出(Three.js を活用)
  • 賞品・ルール・参加者を柔軟に設定可能(テキスト/画像対応)
  • Excel 一括インポート/結果エクスポートに対応し運用が容易
  • 管理画面のロック・リセット等、運用向けの機能を実装

技術的なポイント

本プロジェクトはフロントエンドに Vue(おそらく Vue 3)を採用し、Three.js で描画された 3D 球体がメインの視覚要素になっています。Three.js 側では球面上に当選候補を配置し、ランダムに回転・選出するアニメーションが実装されているため、GPU による描画とアニメーション制御が重要になります。バックエンドは Express を利用しており、抽選対象データの CRUD、Excel ファイルのアップロード/ダウンロード、抽選結果の永続化といった API を提供する想定です。Excel 入出力には一般的に xlsx 系ライブラリが使われ、サーバー側でパース・生成を行ってクライアントとやり取りします。

環境設定用に .env と .env.production が用意されており、デプロイ時に接続先やシークレットを環境変数で分離できます。.dockerignore や .github ディレクトリが存在することから、コンテナ化や CI/CD 運用を想定した構成拡張が容易です。元プロジェクトをベースにしているため、コアのレンダリング・UI ロジックは安定しており、本リポジトリは運用に合わせた機能追加や細部の最適化(管理パスワードやロック機能、初期化時に管理パスワードを要求する等)を施しています。

注意点として README にデフォルトの管理者アカウント(admin / admin123)やリセット用パスワード(admin888)が明記されているため、実運用では必ずパスワードを変更し、HTTPS や認証の強化、環境変数管理を徹底する必要があります。さらに、大画面表示や複数クライアントでの同期が必要な場合は WebSocket 等で状態同期を追加することが望ましいでしょう。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • $null: file
  • .dockerignore: file
  • .env: file
  • .env.production: file
  • .github: dir

…他 61 ファイル

まとめ

視覚演出が映える年会向けの実用的な 3D 抽選アプリ。導入とカスタマイズが容易。(約50字)

リポジトリ情報:

  • 名前: ct-lottery
  • 説明: 🎉🌟✨🎈 年会抽奖程序|基于 Express + Three.js 的 3D 球体抽奖程序,奖品🧧🎁/文字/图片/抽奖规则均可配置,抽奖人员Excel一键导入、结果Excel导出,酷炫体验拉满🚀基于LOG1997 log-lottery 的项目的二改
  • スター数: 4
  • 言語: Vue
  • URL: https://github.com/ctfwubai/ct-lottery
  • オーナー: ctfwubai
  • アバター: https://avatars.githubusercontent.com/u/223439398?v=4

READMEの抜粋:

项目说明

本项目基于开源项目 log-lottery(原项目地址)进行二次开发,核心代码源自 LOG1997 大佬 2025 年 12 月初的版本。 原项目是一款基于 Vue3 + Three.js 构建的炫酷 3D 球体抽奖应用,开箱即用、可高度定制,适用于年会等各类抽奖场景,支持奖品配置、人员管理、界面自定义等核心功能。 本二次开发版本在原项目稳定架构的基础上,针对实际使用场景补充了个性化功能适配,保持了原项目的核心体验与技术优势,同时优化了部分使用细节,感谢 LOG1997 大佬的开源贡献!

1.打开大屏主页

  • 登录账号:admin 密码:admin123
  • 右侧按钮介绍
    • 点击锁定

    1.锁定大屏手机是无法操作抽奖的。解锁后正常

    • 重置按钮

    1.初始化所有数据 (需要输入管理密码:admin888)

image