晨读计划 (ChenDu Plan) — 面向 CET-4/6、考研党的鸿蒙背单词应用,前后端完整开源,MIT 协议。
市面上的背单词 App 要么广告多到怀疑人生,要么词书老旧、UI 臃肿。作为一个同时搞 CV 科研 + 工程落地的人,我需要一个:
于是就有了 晨读计划。
| 登录 | 注册 |
|---|---|
![]() | ![]() |
| 词书切换 | 背词练习 | 个人中心 |
|---|---|---|
![]() | ![]() | ![]() |
| 生词本 | 错题本 |
|---|---|
![]() | ![]() |
┌─────────────────────────┐ ┌────────────────────────────┐ │ HarmonyOS ArkUI 前端 │────▶│ Spring Boot REST API │ │ ArkTS · 7 页面 │ │ 11 Controller · 22 端点 │ │ @kit.NetworkKit │ │ MyBatis · MySQL 8.0 │ └─────────────────────────┘ └────────────────────────────┘
| 层 | 技术栈 |
|---|---|
| 前端 | HarmonyOS ArkTS + ArkUI 声明式 UI |
| 后端 | Spring Boot 4.0.5 + Java 17 + MyBatis 4.0.1 |
| 数据库 | MySQL 8.0 · 8 张业务表 · utf8mb4 |
| API | RESTful JSON 统一 {code, message, data} 格式 |
8 张业务表,以 users 和 books 为中心:

| 表 | 职责 |
|---|---|
users | 用户账户 + 学习统计 |
books | 词书元数据(CET-4 / CET-6 / 考研) |
words | 单词库(900+ 词) |
user_books | 用户-词书多对多 + 进度追踪 |
study_records | 每日学习记录 |
notebook_words | 生词本 |
wrong_words | 错题本 |
sign_records | 签到打卡 |
| 方法 | 端点 | 说明 |
|---|---|---|
POST | /api/auth/register | 注册 |
POST | /api/auth/login | 登录 |
GET | /api/user/profile | 个人信息 |
GET | /api/books/progress | 词书进度 |
GET | /api/words/next | 获取下一个单词 |
POST | /api/study/submit | 提交答题结果 |
GET | /api/stats/overview | 学习统计 |
POST | /api/sign | 每日签到 |
| ... | ... | 共 22 个端点 |
bash# 1. 初始化数据库
mysql -u root -p < demo_backend/src/main/resources/db/init_words_demo.sql
# 2. 配置环境变量
cp .env.example .env # 编辑填入数据库密码
# 3. 启动
cd demo_backend && mvn spring-boot:run
# → http://localhost:8080
demo/ 目录ApiConfig.ets 中的后端地址测试账号:demo_user / 123456
项目采用 MIT 开源协议,已搭建完整的开源协作基础设施:
| 角色 | GitHub |
|---|---|
| 项目负责人 & 架构师 & 核心开发者 | @tingnuanx |
| 核心开发者 | @lechan775 |
| 平台 | 地址 |
|---|---|
| 🌟 GitHub 仓库 | github.com/lechan775/ChenDuPlan |
| 📋 Issue 面板 | github.com/lechan775/ChenDuPlan/issues |
| 🏷️ v0.1.0 Release | github.com/lechan775/ChenDuPlan/releases |
研究方向为计算机视觉与 AI 基础设施。长期关注轻量级模型部署、无人机视觉、开源工程化。
如果这个项目对你有帮助,欢迎去 GitHub 点个 ⭐ Star,这对我非常重要!
有任何问题或想法,直接提 Issue,我看到就会回复。


本文作者:williams
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!