explaingit

moshang-ax/lottery

4,542JavaScriptAudience · generalComplexity · 2/5Setup · easy

TLDR

A 3D web-based raffle app for company annual dinners that imports participants from Excel, spins an animated sphere to pick winners, and exports results.

Mindmap

mindmap
  root((Lottery App))
    What It Does
      3D raffle display
      Prize configuration
      Event management
    Input
      Excel import
      Prize rules
      Participant list
    Output
      Live winner display
      Excel export
    Tech Stack
      Node.js backend
      Three.js sphere
      Express server
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a live raffle at a company annual dinner with a 3D animated display

USE CASE 2

Import employee names from an Excel sheet and randomly select prize winners per tier

USE CASE 3

Configure multiple prize categories with different winner counts for a corporate event

USE CASE 4

Export raffle results to Excel for record-keeping after the event

Tech stack

JavaScriptNode.jsExpressThree.js

Getting it running

Difficulty · easy Time to first run · 30min

Requires Node.js, run locally on the event host machine, not designed for public internet deployment.

In plain English

Lottery is a web-based raffle program designed for company annual dinner events. It lets an organizer import a list of participants from an Excel spreadsheet, configure prizes and rules, run the raffle live with a visual 3D spinning sphere showing the pool of names, and then export the results back to Excel when the event is over. A hosted demo is available online to try without any setup. The visual display is built with Three.js, a JavaScript library for 3D graphics in the browser. The backend is built with Node.js and Express. During a draw, a 3D sphere spins on screen with participant names or photos displayed on its surface, and winners are selected and announced as it slows to a stop. Configuration is done through a settings file. An organizer can set prize names, the number of winners per prize tier, and the text or images that appear on the sphere. Participant data comes from an imported Excel file, so no manual data entry is required beyond the initial spreadsheet. Getting it running requires Node.js installed on the event host's computer. After downloading the repository and installing dependencies, the organizer starts a local server and opens the application in a browser. The main README is in Chinese, with an English version also provided. The project is intended for local use at a live event rather than deployment as a public web service. The described tech stack is Node.js combined with Express for the server and Three.js for the visual presentation. Prize information, participant data, and the number of allowed winners per prize are all configurable before the event starts.

Copy-paste prompts

Prompt 1
How do I set up the lottery app on my laptop for an office event? I have Node.js installed and an Excel file with 200 employee names.
Prompt 2
Show me how to configure the lottery program to have 3 different prize categories with 1, 3, and 10 winners respectively.
Prompt 3
How do I customize the background and sphere appearance in the lottery app to match our company branding?
Open on GitHub → Explain another repo

← moshang-ax on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.