1- Teaching 在线教学平台
1+ # Teaching 在线教学平台
22===============
33
4-
5-
64## 项目介绍
75
86Teaching针对机构、学校提供STEAM在线教育解决方案, 提供一个低成本试错的机会。
97
108平台集成CRM系统、教务系统、作业系统、题库系统、赛事系统、社区系统。并封装了常用的工具,如各种工具类、微信生态对接、支付对接等等。
119
10+ [ 前往官网] ( http://teaching.vip )
11+
12+ [ 查看本开源版DEMO] ( http://open.teaching.vip )
1213## 开源版功能
1314
1415```
1516├─首页
1617├─创作
1718│ ├─Scratch3.0
1819│ ├─Scratch2.0
20+ │ ├─ScratchJr
1921├─个人中心
2022│ ├─个人中心
2123│ ├─个人设置
@@ -28,9 +30,9 @@ Teaching针对机构、学校提供STEAM在线教育解决方案, 提供一个
2830| ├─角色管理
2931│ ├─菜单管理
3032│ ├─权限设置
31- │ ├─部门管理
33+ │ ├─班级管理
3234│ └─字典管理
33- │ └─我的部门
35+ │ └─我的班级
3436│ └─职务管理
3537│ └─通讯录
3638├─在线开发
@@ -42,9 +44,9 @@ Teaching针对机构、学校提供STEAM在线教育解决方案, 提供一个
4244```
4345## 教学工具对接
4446
45- - [ Scratch2.0] ( https://github.com/open-scratch/scratch2 )
47+ - [ Scratch2.0] ( https://github.com/open-scratch/scratch2 ) (已淘汰)
4648- [ Scratch3.0] ( https://github.com/open-scratch/scratch3 )
47- - 其他正在开发中
49+ - [ ScratchJr ] ( https://github.com/open-scratch/scratchjr )
4850
4951
5052## 技术架构
@@ -57,64 +59,146 @@ Teaching针对机构、学校提供STEAM在线教育解决方案, 提供一个
5759
5860项目构建: Maven、Jdk8、npm或yarn
5961
60- ## 快速开始(本地启动)
61-
62- 本项目基于jeecg框架开发,采用前后端分离架构,如果您了解jeecg将更容易上手本项目[ jeecg-boot] ( https://github.com/zhangdaiscott/jeecg-boot )
62+ ## 部署教程
6363
6464### 环境准备
65- - mysql 5.6以上
66- - redis
67- - nodejs 最新版
68- - jdk1.8
69- - maven
70- - 七牛云,并实名认证
71- - 推荐开发工具:IDEA unlimited版和Visual Studio Code
65+ 以CentOS服务器为例
66+ #### 安装mysql5.6
67+ - 设置数据库表名忽略大小写
68+ lower_case_table_names=1
69+ - 导入api/db文件夹的sql文件
7270
73- ### 后端
71+ #### 安装 redis 6.0
72+ 略
7473
75- #### 使用IDEA运行
74+ #### 安装Java
75+ yum install -y java-1.8.0-openjdk
7676
77- IDEA导入api/pom.xml自动会导入整个项目,等待maven依赖下载完,点击绿色三角号或运行org.jeecg.JeecgApplication的main方法
77+ #### 安装Nginx
78+ 略
7879
79- #### 直接编译运行
80+ #### 注册配置七牛云
8081
81- - 修改配置
82- application-dev.yml
83- 修改数据库、redis、七牛云存储等
82+ - qiniu.com 注册后实名认证
83+ - 新建对象存储Kodo,访问控制设为:开放
84+ - 绑定域名(免费分配的测试域名一个月后过期)
85+ - 获取accessKey,secretKey以备后续配置
86+
87+ ### 后端
88+
89+ #### 修改配置
90+
91+ 修改application-prod.yml或application-dev.yml配置
92+
93+ 修改application.yml切换测试和线上环境
8494
85- - 导入数据库
95+ 参考:
96+ ```
97+ domain: 您的站点域名
98+
99+ # 数据库连接配置
100+ datasource:
101+ master:
102+ url: jdbc:mysql://127.0.0.1:3306/teachingopen?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false
103+ username: teachingopen
104+ password: teachingopen
105+
106+ #Redis连接配置
107+ redis:
108+ database: 1
109+ host: 127.0.0.1
110+ password: ''
111+ port: 6379
112+
113+ qiniu:
114+ accessKey: 您的七牛accessKey
115+ secretKey: 您的七牛secretKey
116+ bucketName: 您的七牛bucketName
117+ staticDomain: 您的七牛域名//qn.sgs.pub
118+ ```
86119
87- - 导入db文件夹的sql文件
120+ - 编译项目
88121
89- - 编译项目,在api目录执行
122+ 在api目录执行
123+
90124` mvn clean package `
91125
92- - 启动项目
93- ` java -jar jeecg-boot-module-system\target\jeecg-boot-module-system-2.1.4.jar `
126+ 编译成功后得到jar文件:\target\teaching-open-xxx.jar &
94127
95- - Linux放入后台运行
128+ - 上传到服务器
96129
97- ` nohup java -jar jeecg-boot-module-system\target\jeecg-boot-module-system-2.1.4.jar & `
130+ - 启动后端api
131+
132+ ` nohup java -jar teaching-open-xxx.jar & `
98133
99134### 前端
100135
101- - 修改七牛云存储的域名
136+ - 安装nodejs版本v12
102137
103- public/index.html > ` window._CONFIG['qn_base'] `
138+ - 修改配置
104139
105- - 修改七牛云存储区域,默认z0(华东区)
140+ public/index.html
106141
107- public/scratch3/index.html > ` region: qiniu.region.z0 `
142+ ``` js
143+ <!-- 全局配置 -->
144+ < script>
145+ window ._CONFIG [' qn_base' ] = " //qn.open.teaching.vip/" // 七牛域名
146+ window ._CONFIG [' qn_area' ] = ' z0' // 七牛存储区域 z0华东 z1华北 z2华南 na0北美 as0东南亚
147+ window ._CONFIG [' brandName' ] = " Teaching" // 品牌名
148+ < / script>
149+ ```
108150
109151- 安装依赖
110152 ` npm install ` 或 ` yarn install `
111153
112- - 启动服务
113- ` npm run serve ` 或 ` yarn run serve `
154+ - 编译
155+ ` npm run build ` 或 ` yarn run build `
114156
115157- 部署
158+
159+ 将编译后的dist文件夹上传至服务器网站根目录
160+
161+ - 配置Nginx
162+
163+ 配置实例:
164+ ```
165+ server
166+ {
167+ listen 80;
168+ server_name open.teaching.vip;
169+ location / {
170+ index index.html index.htm;
171+ root /www/wwwroot/teaching;
172+ if (!-e $request_filename) {
173+ rewrite ^(.*)$ /index.html?s=$1 last;
174+ break;
175+ }
176+ gzip on;
177+ gzip_min_length 1k;
178+ gzip_comp_level 9;
179+ gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
180+ gzip_vary on;
181+ gzip_disable "MSIE [1-6]\.";
182+ }
183+
184+ location ^~ /api
185+ {
186+ expires 12h;
187+ if ($request_uri ~* "(php|jsp|cgi|asp|aspx)")
188+ {
189+ expires 0;
190+ }
191+ proxy_pass http://127.0.0.1:8080/api/;
192+ proxy_set_header Host 127.0.0.1;
193+ proxy_set_header X-Real-IP $remote_addr;
194+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
195+ add_header X-Cache $upstream_cache_status;
196+ #Set Nginx Cache
197+ add_header Cache-Control no-cache;
198+ }
199+ }
200+ ```
116201
117- 将nginx代理到编译后的build目录
118202
119203### 测试账号
120204
@@ -125,6 +209,4 @@ application-dev.yml
125209- teacher —— 老师
126210- student —— 学生
127211
128- ## 技术文档
129-
130- - QQ交流群 : 191723983
212+ ## QQ交流群 : 191723983
0 commit comments