项目简介
YourTJ 项目概述
YourTJ 社区 包含选课社区和积分系统两大核心功能。我们的愿景是:建立不记名,自由,简洁,高效的选课社区。
YourTJ 选课社区
YourTJ 选课社区 是一个专为同济大学学生打造的课程评价与选课指南平台。用于汇集来自同济学生的真实课程评价,帮助学生在选课时做出更明智的决策。
核心功能
📚 课程评价系统
- 支持对课程进行多维度评价(教学质量、课程难度、给分情况等)
- 基于 Markdown 的富文本评价编辑器
- 评价模板快速填写功能
🔍 智能筛选
- 按开课单位,有无评论筛选课程
- 支持关键词搜索
- 移动端友好,专门适配了移动端UI
💬 社区互动
- 支持匿名评价和展示点评人的选课评价
- 通过waline评论系统实时留言反馈
🛡️ 安全验证
- 集成 YourTJCaptcha 人机验证服务
- 防止恶意刷评
- 保障评价真实可信
技术架构
┌─────────────────────────────────────────────────────────┐
│ Frontend │
│ React + TypeScript + Tailwind CSS │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Backend │
│ Cloudflare Workers + Hono │
│ D1 Database │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ External Services │
│ Waline (评论系统) │ YourTJCaptcha (人机验证) │
└─────────────────────────────────────────────────────────┘项目特点
| 特点 | 描述 |
|---|---|
| Serverless 架构 | 基于 Cloudflare Workers,无需管理服务器 |
| 现代前端技术栈 | React 18 + TypeScript + Tailwind CSS |
| 关系型数据库 | Cloudflare D1 SQLite 数据库 |
| 安全可靠 | 多层验证机制,保障数据安全 |
| 开源共建 | 完全开源,欢迎社区贡献 |
YourTJ 积分系统
YourTJ Credit 是为 YOURTJ 社区提供的积分系统,包含去中心化钱包、任务/商品交易、申诉/举报和管理后台等功能。
核心功能
💳 去中心化钱包
- 无账户系统:由学号 + PIN 在本地浏览器派生密钥(PBKDF2)
- 生成 3 词助记词
- 请求签名:涉及资金/下单/发单/举报等写操作必须携带签名(防重放)
🛒 任务/商品交易
- 任务市场:发布任务、接单、确认完成
- 商品市场:发布商品、下单、卖家处理、买家确认
- 订单托管:安全的托管机制保障交易安全
🛡️ 申诉与举报
- 交易举报:针对交易纠纷的申诉机制
- 内容举报:针对违规内容的举报功能
- 飞书通知:举报自动触发飞书通知(可选)
👨💼 管理后台
- JWT 认证的管理员登录系统
- 举报/申诉处理:结案/驳回/补偿/下架/改价
- 扣回单管理:管理员可执行扣回操作
- 用户查询:查询指定卡号钱包/流水
- 兑换码管理:创建、查询、禁用兑换码
技术架构
┌─────────────────────────────────────────────────────────┐
│ Frontend │
│ React + TypeScript + Tailwind CSS │
└─────────────────────────────────────────────────────────┘
│
┌───────────────┴───────────────┐
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ backend-core │ │ backend-market │
│ (钱包/转账/流水 │ │ (任务/商品/订单 │
│ 词库/管理/兑换码) │ │ 托管/举报) │
└─────────────────────────┘ └─────────────────────────┘
│ │
└───────────────┬───────────────┘
▼
┌─────────────────────────┐
│ Turso (libSQL) │
│ SQLite 数据库 │
└─────────────────────────┘项目特点
| 特点 | 描述 |
|---|---|
| Serverless 架构 | 基于 Vercel Serverless Functions |
| 分体部署 | Core 和 Market 分离 |
| 安全模型 | 学号+PIN 派生密钥、HMAC-SHA256 签名验证 |
| 数据库 | Turso (libSQL) 边缘数据库 |
快速链接
选课社区
积分系统
- GitHub 仓库
- 项目 README:包含详细的部署和开发指南
通用
- 贡献指南 - 参与项目开发
联系我们
如有问题或建议,欢迎通过以下方式联系:
- GitHub Issues: 提交问题
- 邮箱: support@yourtj.de