跳到主要内容
版本:Current

技术栈

Frontend

类别技术
框架Next.js 15 (App Router)
UIReact 19, Tailwind CSS 3.4
动画Framer Motion, React Spring, tsparticles
认证NextAuth.js 4.24(Credentials + Google + Azure AD)
实时socket.io-client 4.8
主题NEXT_PUBLIC_THEME → spring / mario

Backend

类别技术
运行时Node.js 18+, Express 5
语言TypeScript ESM
实时Socket.IO 4.8
状态Redis 5.6 (node-redis)
持久化Prisma 6.19 + PostgreSQL
认证jsonwebtoken

新增模块(相对早期版本)

模块路径职责
LoginCodebackend/src/lib/login-code.ts6 位码生成/校验/广播
PlayerRegistrybackend/src/lib/player-registry.tsUUID→显示名映射
Auth Routebackend/src/routes/auth.tsverify-code API
Player IDfrontend/src/lib/player-id.tslocalStorage UUID
Login UIfrontend/src/components/game/login/CnLoginPanel 等
Themefrontend/src/lib/theme.ts主题枚举

测试

脚本用途
flood-test/heavy-load-test.js高并发 Socket
flood-test/code-login-test.js登录码验证压测
flood-test/e2e-code-game-load-test.js登录码 + 游戏 E2E 负载

上游与参考

本文档描述部内抽奖系统的架构与扩展方式;下列开源项目的 API、配置与版本说明以官方为准。

项目官方文档源码
Next.jsnextjs.org/docsvercel/next.js
Reactreact.devfacebook/react
Expressexpressjs.comexpressjs/express
Socket.IOsocket.io/docs/v4socketio/socket.io
Redisredis.io/docsredis/redis
PostgreSQLpostgresql.org/docspostgres/postgres
Prismaprisma.io/docsprisma/prisma
NextAuth.jsnext-auth.js.orgnextauthjs/next-auth
Tailwind CSStailwindcss.com/docstailwindlabs/tailwindcss

目录

lottery/
├── frontend/
├── backend/
├── flood-test/
└── docs/