moshang-ax/lottery

🎉🌟✨🎈年会抽奖程序,基于 Express + Vue + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 10 minutes ago
Added to GitGenius on September 15th, 2026
Created on January 30th, 2019
Open Issues & Pull Requests: 22 (+0)
GitHub issues: Enabled
Number of forks: 1,079
Total Stargazers: 4,568 (+0)
Total Subscribers: 22 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 435.5 days
Mean response time: 455.2 days
90th percentile: 1083.6 days
Tracked items: 17

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 764 days
Stale 30+ days: 8
Stale 90+ days: 8

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Lottery is a web-based raffle application that renders a 3D spinning sphere to randomly select winners from a participant list.

The tool solves the problem of running fair, configurable raffle draws for events like annual dinners. It uses a Three.js-rendered 3D sphere as the visual centerpiece of the drawing experience. Participants are loaded from an Excel file, and the drawing process prevents already-selected winners from being drawn again unless manually reset. Prize information, including names, descriptions, images, and quantities, is configured through a server-side configuration file. Results can be exported back to Excel after the drawing concludes. The application persists winner data across server restarts, preserving the state of the lottery unless explicitly reset through the interface.

Organizations running company events, award ceremonies, or other occasions requiring fair random selection should consider this tool. It suits scenarios where visual presentation matters and where participants need to be imported and results exported in bulk. The project is built with Vue 3 and Vite on the front end, Three.js for 3D rendering, and Express on the back end, making it suitable for teams comfortable with JavaScript across the stack.

The project has undergone a significant refactoring to modernize its technology stack, moving from webpack to Vite and upgrading to Vue 3 while maintaining backward compatibility with the Express API. Development activity shows attention to build performance and developer experience through the migration to Vite's faster cold start and hot module replacement. The codebase demonstrates a commitment to component-based architecture through the Vue 3 refactoring, and the preservation of Three.js as a global script library indicates a pragmatic approach to maintaining visual consistency during modernization efforts.