中文 | English
一个帮助玩家寻找机厅并与社群建立联系的网站。在这里,不仅可以找到距您最近的机厅,还可以加入高校社团、参与社区讨论。
有关网站的问题答疑、数据纠正、功能建议等请加入 QQ 群进行交流。
克隆仓库:
git clone https://github.com/Naptie/nearcade.git
cd nearcade
安装依赖:
pnpm install
设置环境变量:
在项目根目录创建一个 .env
文件。
核心配置:
# 地图服务
PUBLIC_AMAP_KEY="your_amap_key"
PUBLIC_QQMAP_KEY="your_qqmap_key"
AMAP_SECRET="your_amap_secret"
# 服务器间通讯密钥 (生成一个随机字符串)
SSC_SECRET="your_ssc_secret"
# 数据库
MONGODB_URI="mongodb://localhost:27017/?dbName=nearcade"
# Auth 密钥 (生成一个随机字符串)
AUTH_SECRET="your_random_auth_secret"
认证提供商:
# GitHub
AUTH_GITHUB_ID="your_github_oauth_id"
AUTH_GITHUB_SECRET="your_github_oauth_secret"
# Microsoft
AUTH_MICROSOFT_ENTRA_ID_ID = "your_microsoft_entra_id_id"
AUTH_MICROSOFT_ENTRA_ID_SECRET = "your_microsoft_entra_id_secret"
AUTH_MICROSOFT_ENTRA_ID_ISSUER = "your_microsoft_entra_id_issuer"
# Discord
AUTH_DISCORD_ID="your_discord_oauth_id"
AUTH_DISCORD_SECRET="your_discord_oauth_secret"
# osu!
AUTH_OSU_ID = "your_osu_oauth_id"
AUTH_OSU_SECRET = "your_osu_oauth_secret"
# Phira
AUTH_PHIRA_ID = "your_phira_oauth_id"
AUTH_PHIRA_SECRET = "your_phira_oauth_secret"
# QQ
AUTH_QQ_ID="your_qq_oauth_id"
AUTH_QQ_SECRET="your_qq_oauth_secret"
AUTH_QQ_PROXY="your_qq_redirect_proxy_url" # 可选的重定向代理
IMAP 与 Redis 配置 (用于在校生资格验证):
IMAP_HOST = "imap.example.com"
IMAP_PORT = "993"
IMAP_USER = "[email protected]"
IMAP_PASSWORD = "your_imap_password"
REDIS_URI = "redis://username:[email protected]:6379"
Firebase Cloud Messaging 配置:
# 以下变量二选一
# Google 服务账号 JSON (使用 Base64 编码)
GSAK_BASE64="your_base64_content"
# Firebase Cloud Messaging 代理
FCM_PROXY="https://example.com/api/notifications/fcm/send"
其中,有关 Firebase Cloud Messaging 代理,请参考该终结点。
启动开发服务器:
pnpm dev
打开浏览器:
访问 http://localhost:5173
# 构建 Web 应用
pnpm build
# 预览生产版本
pnpm preview
克隆仓库并进入项目目录。
设置环境变量:
按照“开始使用”部分的说明创建 .env
文件。
构建并启动服务:
docker-compose up --build
访问应用:
容器启动后,在浏览器中访问 http://localhost:3000
。
docker-compose down
我们欢迎各种形式的贡献!欢迎提交 issues 和 pull requests。
本项目基于 Mozilla Public License 2.0 开源。