Skip to content

Commit 2cee1b6

Browse files
committed
feat: initial project setup with client app and documentation
- React 18 + Vite + TypeScript + Tailwind client app - Feature modules: dashboard, feynman, flashcards, notes, pomodoro - UI component library (Button, Card, Modal, Input, Toast, etc.) - Local storage layer with Dexie.js (IndexedDB) - SM-2 spaced repetition algorithm implementation - Theme system with CSS design tokens - Project documentation (Phase 0-3) - .gitignore configured for security and build exclusion
1 parent 15f8da7 commit 2cee1b6

154 files changed

Lines changed: 31833 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitignore‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Dependencies
2+
node_modules/
3+
vendor/
4+
__pycache__/
5+
*.pyc
6+
7+
# Build
8+
dist/
9+
build/
10+
*.exe
11+
*.wasm
12+
13+
# IDE
14+
.vscode/
15+
.idea/
16+
*.swp
17+
*.swo
18+
19+
# OS
20+
.DS_Store
21+
Thumbs.db
22+
23+
# Environment
24+
.env
25+
.env.local
26+
.env.*.local
27+
28+
# Logs
29+
*.log
30+
logs/
31+
32+
# Coverage
33+
coverage/
34+
.nyc_output/

‎README.md‎

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# 课伴(KeBan)
2+
3+
> 提高网课效率的智能学习工具
4+
5+
## 项目简介
6+
7+
课伴是一款以"提高网课效率"为核心定位的学习工具软件,提供四大核心学习工具模块:
8+
9+
- **番茄钟(Pomodoro Timer)**:专注时长管理与统计
10+
- **智能笔记(Notes)**:结构化随堂笔记记录
11+
- **闪卡(Flashcards)**:SM-2 间隔重复记忆
12+
- **费曼学习法(Feynman Technique)**:以教代学深度理解
13+
14+
## 架构理念
15+
16+
**本地优先 + AI 增强可选**
17+
18+
- **本地模式**:所有核心功能可在纯本地离线环境完整运行,不依赖任何网络服务
19+
- **AI 增强模式**:网络可用时可选开启 AI 辅助能力,作为增值功能叠加
20+
21+
## 技术栈
22+
23+
| 领域 | 选型 |
24+
|------|------|
25+
| 前端框架 | React 18 + TypeScript + Vite |
26+
| 本地存储 | Dexie.js (IndexedDB) + localStorage |
27+
| 离线缓存 | Service Worker (Workbox) |
28+
| 富文本编辑器 | TipTap (ProseMirror) |
29+
| 后端语言 | Go + Python |
30+
| 数据库 | PostgreSQL 16 + Redis 7 |
31+
| AI 框架 | FastAPI + LangChain |
32+
33+
## 项目结构
34+
35+
```
36+
├── docs/ # 项目文档(按开发流程阶段组织)
37+
│ ├── phase0/ # 阶段零:项目立项与启动
38+
│ ├── phase1/ # 阶段一:需求阶段
39+
│ ├── phase2/ # 阶段二:签约与项目计划
40+
│ ├── phase3/ # 阶段三:设计阶段
41+
│ └── templates/ # 文档模板
42+
├── client/ # 前端客户端代码
43+
├── server/ # 后端服务代码
44+
└── scripts/ # 脚本工具
45+
```
46+
47+
## 里程碑
48+
49+
| 里程碑 | 时间节点 | 交付 |
50+
|--------|---------|------|
51+
| MVP-1 Alpha | 第 28 周 | 本地核心版(番茄钟+笔记+闪卡+费曼) |
52+
| MVP-2 Alpha | 第 36 周 | AI 增强版(云同步+AI 功能) |
53+
| Beta 公测 | 第 44 周 | 全功能集成版 |
54+
| 正式上线 | 第 54 周 | 生产就绪版 |
55+
56+
## 许可证
57+
58+
Private - All rights reserved

‎client/.gitignore‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

‎client/.oxlintrc.json‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"$schema": "./node_modules/oxlint/configuration_schema.json",
3+
"plugins": ["react", "typescript", "oxc"],
4+
"rules": {
5+
"react/rules-of-hooks": "error",
6+
"react/only-export-components": ["warn", { "allowConstantExport": true }]
7+
}
8+
}

‎client/index.html‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>client</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.tsx"></script>
12+
</body>
13+
</html>

0 commit comments

Comments
 (0)