# mts **Repository Path**: daitianjun/mts ## Basic Information - **Project Name**: mts - **Description**: 网课系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-28 - **Last Updated**: 2026-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 网课系统 在线教育平台。 ## 技术栈 - **Backend**: Node.js + TypeScript + Express + Drizzle ORM + PostgreSQL - **Frontend**: Vue 3 + TypeScript + Vite + Naive UI + Vue Router ## 快速开始 ### 1. 安装依赖 ```bash npm install ``` ### 2. 配置环境变量 在 `server/` 目录创建 `.env` 文件: ```env DATABASE_URL=postgresql://postgres:123456@localhost:5432/course_platform JWT_SECRET=your_jwt_secret_key_here ``` ### 3. 启动 PostgreSQL 数据库 ```bash # 使用 Docker(推荐) docker run -d --name postgres-mts -p 5432:5432 -e POSTGRES_PASSWORD=123456 -e POSTGRES_DB=course_platform postgres # 或者使用已存在的容器 postgres-daitianjun ``` ### 4. 初始化数据库 ```bash # 创建数据库(如果不存在) psql -h localhost -U postgres -c "CREATE DATABASE course_platform;" # 执行 SQL 初始化脚本 psql -h localhost -U postgres -d course_platform -f server/prisma/init.sql ``` ### 5. 启动开发服务器 ```bash npm run dev ``` - 前端: http://localhost:5173 - 后端: http://localhost:3000 ## 项目结构 ``` ├── server/ # Express API │ ├── src/ │ │ ├── routes/ # API 路由 │ │ ├── middleware/ # 中间件 │ │ ├── config/ # 环境配置 │ │ └── db/ # Drizzle ORM │ ├── uploads/ # 上传文件目录 │ └── prisma/ │ └── init.sql # 数据库初始化脚本 └── client/ # Vue 3 SPA └── src/ ├── views/ # 页面组件 ├── components/ # 共享组件 ├── stores/ # 状态管理 └── api/ # API 客户端 ``` ## 数据库表结构 9 张表:User, Category, Course, Chapter, Video, Enrollment, Progress, Note, Favorite 详见 `server/prisma/init.sql` ## API 接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/auth/register | 注册 | | POST | /api/auth/login | 登录 | | GET | /api/auth/me | 当前用户 | | GET/POST | /api/courses | 课程列表/创建 | | GET/PATCH/DELETE | /api/courses/:id | 课程详情/更新/删除 | | POST | /api/courses/:id/enroll | 报名课程 | | POST/DELETE | /api/courses/:id/favorite | 收藏/取消收藏 | | GET/POST | /api/chapters | 章节列表/创建 | | GET/POST | /api/videos | 视频列表/创建 | | POST | /api/progress/video/:id | 更新进度 | | GET/POST | /api/notes | 笔记列表/创建 | | POST | /api/upload | 文件上传 | ## 功能 - [x] 用户注册/登录 (JWT) - [x] 课程管理 (CRUD/发布/分类) - [x] 视频播放与进度跟踪 - [x] 学习笔记 - [x] 收藏功能 - [x] 报名管理 - [x] 封面上传 - [ ] 视频上传 - [ ] 支付集成 ## 测试账号 - 邮箱: test@example.com - 密码: password123 - 角色: TEACHER