问题
足球迷想要一款能和朋友玩上整个赛季的游戏:不是博彩,也不是靠电子邮件传来传去的电子表格。我最早在2006/2007赛季用经典ASP为意甲开发了TotoCampionato,后来又做了一个在Facebook内运行的版本。2026年我从零重建了它,让一个平台就能运行整个赛季的俱乐部赛事,而不只是单一锦标赛。
我做了什么
一款基于Node.js的竞猜游戏:玩家为每场比赛填写竞猜单,并在自己创建的联赛中一较高下。
- 每场比赛9种竞猜:全场结果、半场结果、双方是否进球、大小球2.5、点球总数、半场/全场、单双、准确比分和总进球数。积分按赔率计算,大胆猜中比猜中显而易见的结果得分更高。
- 任何赛事都能建联赛:系统预置8项赛事,从意甲、英超到欧冠和2026年世界杯。联赛管理员可以管理成员、奖品、横幅、新闻滚动条和聊天。
- Fantasy玩法:用真实球员和教练组建梦幻球队,计分规则和比赛事件在管理后台设置。球员以收藏卡片的形式呈现。
- 赞助商任务:联赛赞助商可以发布任务,成员上传截图作为凭证,由联赛管理员审核。这为小型联赛提供了获得奖品的途径。
- 比赛流程自动化:应用每分钟锁定已开赛的比赛;每30秒从API-Football拉取实时数据;积分自动计算,无需任何人手动录入结果。
- 五种语言:意大利语、英语、法语、德语和西班牙语。
- 管理后台:用户、联赛、赔率、结果、群发邮件模板、邮件收件箱,以及数据库和应用的定时备份。
技术栈
Node.js 20、Express 4、EJS模板、MySQL、支持Google登录的Passport、bcrypt,邮件使用Nodemailer和ImapFlow,上传使用Multer。运行在cPanel共享主机的Phusion Passenger上,比赛数据来自API-Football。
为什么这样做
我没有写一个全新的应用,而是从我的世界杯游戏TotoMondiale分叉而来,因为它的计分引擎、联赛系统和管理后台已经完整支撑过一届锦标赛。这样我就能把时间花在一个赛季真正需要的东西上:多项赛事同时进行、Fantasy游戏和赞助商工具。


