# staredu **Repository Path**: daxiang2008/staredu ## Basic Information - **Project Name**: staredu - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-04 - **Last Updated**: 2026-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎓 学科知识学习平台 一款面向中学生的学科知识学习平台,支持化学、物理、数学等学科的知识点学习与练习。 ## ✨ 功能特点 - 📚 **知识点学习**:丰富的学科知识内容 - 📊 **学习进度跟踪**:实时记录学习情况 - 🎯 **中考专项**:针对中考的专项训练 - 📱 **响应式设计**:支持桌面和移动设备 - 🔄 **数据缓存**:智能缓存机制提升加载速度 ## 🛠️ 技术栈 ### 前端 - **框架**: Vue 3.4.21 (Composition API) - **构建工具**: Vite 5.4.21 - **路由**: Vue Router 4.3.0 - **状态管理**: Pinia 2.1.7 - **UI 组件**: Element Plus 2.6.1 ### 后端 - **框架**: Flask 3.0.2 - **ORM**: SQLAlchemy 3.1.1 - **数据库**: SQLite 3 - **认证**: JWT ## 📁 项目结构 ``` staredu/ ├── src/ # 前端源码 │ ├── components/ # 可复用组件 │ ├── views/ # 页面视图 │ ├── router/ # 路由配置 │ ├── stores/ # Pinia 状态管理 │ ├── styles/ # 全局样式 │ ├── utils/ # 工具函数 │ └── plugins/ # 插件配置 ├── backend/ # 后端源码 │ ├── app.py # Flask 应用 │ ├── models/ # 数据模型 │ ├── routes/ # API 路由 │ ├── dao/ # 数据访问层 │ └── scripts/ # 工具脚本 ├── instance/ # SQLite 数据库 ├── data/ # JSON 数据文件 ├── staredu_env/ # Python 虚拟环境 └── package.json # 前端依赖 ``` ## 🚀 快速开始 ### 方式一:使用启动脚本(推荐) ```bash # 1. 启动后端服务 start_backend.bat # 2. 启动前端开发服务器(新窗口) npm run dev ``` ### 方式二:手动启动 #### 前端 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 预览生产版本 npm run preview ``` #### 后端 ```bash # 创建虚拟环境(仅首次) python -m venv staredu_env # 激活虚拟环境 .\staredu_env\Scripts\Activate.ps1 # 安装依赖 pip install -r requirements.txt # 启动服务 python backend\start_server.py ``` ### 服务地址 - 前端:http://localhost:5173 - 后端:http://localhost:5000 - API:http://localhost:5000/api ## 📡 API 接口 ### 学科相关 - `GET /api/subjects/` - 获取学科列表 - `GET /api/subjects/:id` - 获取学科详情 - `GET /api/subjects/:id/knowledge-groups` - 获取知识点分组 - `GET /api/subjects/:id/knowledge-points/:point_id` - 获取知识点详情 ### 用户相关 - `POST /api/users/register` - 用户注册 - `POST /api/users/login` - 用户登录 - `GET /api/users/:id` - 获取用户信息 ### 学习进度 - `GET /api/progress/:user_id` - 获取学习进度 - `POST /api/progress/record` - 记录学习进度 ### 健康检查 - `GET /api/subjects/health` - 健康检查 ## 🔧 开发指南 ### 前端开发 ```bash # 代码规范 npm run lint # 类型检查(预留) npm run type-check ``` ### 后端开发 ```bash # 测试 API python backend\scripts\test_api.py # 数据迁移 python backend\scripts\migrate_json_to_db.py ``` ## 📦 构建优化 项目已配置多项构建优化: - ✅ **代码分割**:按模块分割为独立 chunk - ✅ **路由懒加载**:视图组件按需加载 - ✅ **Element Plus 按需引入**:自动检测使用组件 - ✅ **CSS 分块**:更好的缓存策略 详细优化文档:[BUILD_OPTIMIZATION.md](./BUILD_OPTIMIZATION.md) ## 🗄️ 数据库 使用 **SQLite** 作为数据库,原因: - ✅ 零配置,无需安装额外服务 - ✅ 单文件,便于备份和迁移 - ✅ 性能优秀,满足项目需求 - ✅ 维护成本低 数据库文件位置:`instance/staredu.db` ## 🔐 安全特性 - ✅ SQL 注入防护(ORM) - ✅ XSS 防护(Vue 自动转义) - ✅ CORS 跨域控制 - ✅ 密码加密存储 - ✅ JWT 令牌认证 ## 📝 文档 - [快速开始指南](./QUICKSTART.md) - [架构设计文档](./ARCHITECTURE.md) - [构建优化指南](./BUILD_OPTIMIZATION.md) ## 🧪 测试 ```bash # 后端 API 测试 python backend\scripts\test_api.py ``` ## 🚢 部署 ### 前端部署 ```bash # 构建 npm run build # 部署 dist 目录到静态服务器 ``` ### 后端部署 ```bash # 使用 Gunicorn pip install gunicorn gunicorn -w 4 -b 0.0.0.0:5000 backend.app:app ``` ## 📄 License MIT License ## 🙏 致谢 - [Vue.js](https://vuejs.org/) - [Element Plus](https://element-plus.org/) - [Vite](https://vitejs.dev/) - [Flask](https://flask.palletsprojects.com/) --- Made with ❤️ for students