Yet Another Browser Mud 开源项目教程
azure-mud 项目地址: https://gitcode.com/gh_mirrors/az/azure-mud
1. 项目介绍
Yet Another Browser Mud(简称Azure-Mud)是一个基于文本的在线社交聊天空间。它结合了Slack和Discord等通讯应用的特点,以及MUDs和MOOs等传统文本在线游戏空间的元素。该项目最初为Roguelike Celebration 2020而构建,但也可以用于其他事件或社区。项目后端采用无服务器架构,由Azure Functions、Azure SignalR服务和Redis实例(由Azure Cache for Redis提供)组成,同时使用Google Firebase进行身份验证。前端是一个用TypeScript和React构建的丰富单页应用程序,通过React的useContext钩子采用Flux架构。
2. 项目快速启动
环境搭建
-
前端开发:
- 克隆项目仓库:
git clone https://github.com/Roguelike-Celebration/azure-mud.git
- 安装依赖:
npm install
- 启动开发环境:
npm run dev
(默认在本地的http://localhost:1234/index.html
运行) - 构建生产版本:
npm run build
- 克隆项目仓库:
-
后端开发:
- 克隆项目后进入
server
目录 - 安装依赖:
npm install
- 注意:后端无法在本地运行,需要部署到Azure服务器上
- 克隆项目后进入
Firebase配置
- 在GitHub仓库中设置Repository Secrets,包括
FIREBASE_API_KEY
、FIREBASE_AUTH_DOMAIN
等Firebase相关配置 - 在本地开发环境下,创建
.env
文件并填写真实数据
部署到Azure
- 使用ARM模板进行部署
- 配置WebPubSub连接字符串
- 在Azure Functions应用中添加新的应用设置
WebPubSubConnectionString
3. 应用案例和最佳实践
- 内容开发:使用项目提供的浏览器based的“关卡编辑器”/CMS进行内容创建和管理
- 前端部署:将构建的生产版本部署到Azure Static Web Apps或其他静态网站托管服务
- 安全性:确保在GitHub Actions中配置的密钥安全,并定期更新
4. 典型生态项目
- 前端:使用TypeScript和React进行开发,结合Flux架构
- 后端:利用Azure Functions和SignalR实现实时通讯功能
- 数据库:使用Redis进行数据缓存,结合Firebase进行身份验证和数据存储
- 部署:通过GitHub Actions自动化部署到Azure服务器
以上是Yet Another Browser Mud开源项目的简要教程,希望对您有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考