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