Sobre o projeto
## 项目简介
专升本学习助手是一款面向专升本考生的备考打卡管理应用,提供Web版(PWA)与Windows/macOS桌面端。由Cloudflare Workers + D1数据库 + R2存储提供云端账号与数据同步能力,支持注册登录后在Web与桌面端保持一致的学习记录。
核心定位:把「记录 → 专注 → 激励 → 复盘」串成一条完整的学习闭环。
### 为什么选择这个项目
- **一条龙学习闭环**:每日打卡、番茄钟专注、刷题与错题整理、晚间总结反思,备考全流程在一个工具里搞定,不用在多个App间来回切换
- **云端多端同步**:注册账号后数据全量同步到云端(Cloudflare D1),Web与桌面端随时接着学;PWA会缓存数据,断网时也能查看最近一次的内容
- **游戏化让你坚持**:青铜→白银→黄金→铂金→钻石→王者的段位爬升、徽章墙、积分流水与连续学习天数,把枯燥的长期备考变成闯关体验
- **高数与英语专项强化**:考纲章节树、Markdown+LaTeX公式笔记、搭配「墨墨背单词」App逐条打卡、完形/阅读/听力/作文模板多维记录
- **番茄钟带任务描述**:正计时/倒计时两种模式,开始前可填写本次专注任务;独立的「最近完成」板块记录今日每个番茄的时刻、时长与任务
- **社区广场与学习搭子**:发帖讨论、圈子、私信与通知;找搭子一起「开黑自习」、组队挑战、协作备考计划与复盘邀约
- **图表一目了然**:ECharts驱动的学习时长分布、各科目正确率趋势、专注分析
- **桌面端+PWA**:Windows/macOS原生客户端,系统托盘、原生通知、自动更新;Web端可安装为PWA并离线缓存
### 功能特性
| 类别 | 功能 |
| :--- | :--- |
| 学习记录 | 科目章节树与掌握度、学习时长记录、刷题会话、错题本、模考记录、每日待办 |
| 笔记与资料 | Markdown+KaTeX公式笔记、资料库、PDF上传与分片阅读 |
| 英语专项 | 单词打卡(对接墨墨背单词)、完形、阅读、听力、作文模板与每日目标 |
| 番茄专注 | 正计时/倒计时、任务描述、最近完成明细、中断原因记录、专注壁纸 |
| 习惯与复盘 | 习惯打卡与统计、每日总结(情绪+三段式反思+明日计划)、分享卡片 |
| 成就激励 | 积分与流水、六段位等级、徽章墙、连续学习天数 |
| 社区 | 帖子与评论、点赞、话题圈子、知识点讨论、私信、关注与通知中心 |
| 协作 | 组队挑战与进度、学习搭子、开黑自习室、协作备考计划、周报推送 |
| 账号与安全 | 注册登录(bcrypt密码+JWT HttpOnly Cookie)、Cloudflare Turnstile人机验证、限流、敏感词本地词库+Workers AI复审 |
| 个性化 | 考试日期倒计时、主题与深色模式、提醒与勿扰、头像裁剪、访客浏览模式 |
### 技术架构
| 层次 | 技术选型 |
| :--- | :--- |
| 前端 | Vue 3(`<script setup>`)、TypeScript、Vite 5、Vue Router 4、Pinia 2、Tailwind CSS 3 |
| 可视化/富内容 | ECharts 5、KaTeX 0.16、markdown-it、pdfjs-dist |
| 桌面端 | Electron 43、electron-builder、electron-updater |
| PWA | vite-plugin-pwa(可安装+Service Worker离线缓存) |
| 后端 | Cloudflare Workers(TypeScript)、bcryptjs、jose签发JWT |
| 数据 | Cloudflare D1(50+张业务表)、R2(社区图片存储) |
| 工程 | ESLint、tsc --noEmit、GitHub Actions双流水线 |
### 快速上手
**环境要求**:Node.js 18 或更高版本
```bash
git clone https://github.com/Han050912/zsb-study-tracker.git
cd zsb-study-tracker
npm install
npm run dev
```
**启动后端Worker(本地开发必需)**:
```bash
cd worker
npm install
npm run init:local
npx wrangler dev
```
**桌面客户端**:
```bash
npm run electron:dev
```
**打包**:
```bash
npm run dist:win # Windows
npm run dist:mac # Mac
```
### 部署
项目有两条GitHub Actions流水线,监听master分支,分别部署前端到GitHub Pages和后端到Cloudflare Workers。需要配置CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID等Secrets。
### 贡献指南
欢迎任何形式的贡献!流程:Fork → 新建分支(feat/xxx或fix/xxx) → 编码验证 → 提交PR到development分支。使用TypeScript、Tailwind CSS,图标使用SVG组件(Lucide),遵循Conventional Commits规范。
### 许可证
本项目基于MIT许可证开源。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.