# Node.js + SQLite 的作业登记管理系统 **Repository Path**: floating-bee/Method1 ## Basic Information - **Project Name**: Node.js + SQLite 的作业登记管理系统 - **Description**: No description available - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-05 - **Last Updated**: 2026-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README <<<<<<< HEAD # 作业登记管理系统 一个基于 Node.js + SQLite 的作业登记管理系统,支持学生端和教师端。 ## 功能特点 ### 学生端 - 班级/学生选择 - 学科选择(语文、数学、英语等) - 摄像头拍照上传作业 - 实时检查提交状态 ### 教师端 - 用户登录/注册系统 - 查看学生作业提交状态 - 按日期、学科、班级筛选 - 统计数据可视化(7天趋势图) - 学生管理(增删改查) - 查看学生历史作业记录 ## 技术栈 - **后端**: Node.js + Express - **数据库**: SQLite (sql.js) - **前端**: HTML5 + CSS3 + Vanilla JS - **图表**: Chart.js - **文件上传**: express-fileupload ## 快速开始 ### 方式一:使用部署脚本 **Windows:** ```bash deploy.bat ``` **Linux/Mac:** ```bash bash deploy.sh ``` ### 方式二:手动启动 ```bash # 安装依赖 npm install # 启动服务 npm start # 或 node server.js ``` ### 访问地址 - **学生端**: http://localhost:3000/student.html - **教师端**: http://localhost:3000/teacher.html ## 项目结构 ``` homework-system/ ├── server.js # 服务器主文件 ├── package.json # 依赖配置 ├── deploy.sh # Linux/Mac 部署脚本 ├── deploy.bat # Windows 部署脚本 ├── public/ │ ├── student.html # 学生端页面 │ ├── teacher.html # 教师端页面 │ ├── css/ │ │ ├── style.css # 全局样式 │ │ ├── teacher.css # 教师端样式 │ │ └── student.css # 学生端样式 │ └── js/ │ ├── student.js # 学生端脚本 │ └── teacher.js # 教师端脚本 ├── data/ # 数据库存储目录 └── uploads/ # 上传文件存储目录 ``` ## API 接口 ### 学生端 | 接口 | 方法 | 说明 | |------|------|------| | `/api/classes` | GET | 获取班级列表 | | `/api/students` | GET | 获取学生列表 | | `/api/submissions/check/:id` | GET | 检查提交状态 | | `/api/submissions` | POST | 提交作业 | ### 教师端 | 接口 | 方法 | 说明 | |------|------|------| | `/api/submissions/status` | GET | 获取提交状态 | | `/api/submissions/details` | GET | 获取提交详情 | | `/api/submissions/stats` | GET | 获取统计数据 | | `/api/submissions/student/:id` | GET | 获取学生历史 | | `/api/students` | GET/POST | 学生列表/添加 | | `/api/students/:id` | GET/PUT/DELETE | 学生 CRUD | | `/api/teacher/register` | POST | 教师注册 | | `/api/teacher/login` | POST | 教师登录 | ## 数据库 系统使用 SQLite 数据库,表结构如下: - `students` - 学生信息 - `submissions` - 作业提交记录 - `teacher_accounts` - 教师账号 ## 配置 ### 环境变量 | 变量 | 默认值 | 说明 | |------|--------|------| | `PORT` | 3000 | 服务端口 | ### 文件上传 - 单文件大小限制: 10MB - 支持格式: 图片(jpg, png, gif 等) ## 截图预览 ### 学生端 - 简洁的表单界面 - 摄像头拍照功能 - 提交状态实时反馈 ### 教师端 - 仪表盘概览统计 - 7天提交趋势图 - 班级/学科筛选 - 学生管理功能 ## License MIT ======= # 作业登记管理系统 一个基于 Node.js + SQLite 的作业登记管理系统,支持学生端和教师端。 ## 功能特点 ### 学生端 - 班级/学生选择 - 学科选择(语文、数学、英语等) - 摄像头拍照上传作业 - 实时检查提交状态 ### 教师端 - 用户登录/注册系统 - 查看学生作业提交状态 - 按日期、学科、班级筛选 - 统计数据可视化(7天趋势图) - 学生管理(增删改查) - 查看学生历史作业记录 ## 技术栈 - **后端**: Node.js + Express - **数据库**: SQLite (sql.js) - **前端**: HTML5 + CSS3 + Vanilla JS - **图表**: Chart.js - **文件上传**: express-fileupload ## 快速开始 ### 方式一:使用部署脚本 **Windows:** ```bash deploy.bat ``` **Linux/Mac:** ```bash bash deploy.sh ``` ### 方式二:手动启动 ```bash # 安装依赖 npm install # 启动服务 npm start # 或 node server.js ``` ### 访问地址 - **学生端**: http://localhost:3000/student.html - **教师端**: http://localhost:3000/teacher.html ## 项目结构 ``` homework-system/ ├── server.js # 服务器主文件 ├── package.json # 依赖配置 ├── deploy.sh # Linux/Mac 部署脚本 ├── deploy.bat # Windows 部署脚本 ├── public/ │ ├── student.html # 学生端页面 │ ├── teacher.html # 教师端页面 │ ├── css/ │ │ ├── style.css # 全局样式 │ │ ├── teacher.css # 教师端样式 │ │ └── student.css # 学生端样式 │ └── js/ │ ├── student.js # 学生端脚本 │ └── teacher.js # 教师端脚本 ├── data/ # 数据库存储目录 └── uploads/ # 上传文件存储目录 ``` ## API 接口 ### 学生端 | 接口 | 方法 | 说明 | |------|------|------| | `/api/classes` | GET | 获取班级列表 | | `/api/students` | GET | 获取学生列表 | | `/api/submissions/check/:id` | GET | 检查提交状态 | | `/api/submissions` | POST | 提交作业 | ### 教师端 | 接口 | 方法 | 说明 | |------|------|------| | `/api/submissions/status` | GET | 获取提交状态 | | `/api/submissions/details` | GET | 获取提交详情 | | `/api/submissions/stats` | GET | 获取统计数据 | | `/api/submissions/student/:id` | GET | 获取学生历史 | | `/api/students` | GET/POST | 学生列表/添加 | | `/api/students/:id` | GET/PUT/DELETE | 学生 CRUD | | `/api/teacher/register` | POST | 教师注册 | | `/api/teacher/login` | POST | 教师登录 | ## 数据库 系统使用 SQLite 数据库,表结构如下: - `students` - 学生信息 - `submissions` - 作业提交记录 - `teacher_accounts` - 教师账号 ## 配置 ### 环境变量 | 变量 | 默认值 | 说明 | |------|--------|------| | `PORT` | 3000 | 服务端口 | ### 文件上传 - 单文件大小限制: 10MB - 支持格式: 图片(jpg, png, gif 等) ## 截图预览 ### 学生端 - 简洁的表单界面 - 摄像头拍照功能 - 提交状态实时反馈 ### 教师端 - 仪表盘概览统计 - 7天提交趋势图 - 班级/学科筛选 - 学生管理功能 ## License MIT >>>>>>> af899a0 (第一次提交)