一、 项目简介

Teaching针对机构、学校提供STEAM在线教育解决方案, 提供一个低成本试错的机会。

平台集成编程工具、CRM系统、教务系统、作业系统、题库考试系统、赛事系统、编程社区。并封装了常用的工具,如AI人工智能、微信生态对接、支付对接和各种工具类等等。

二、平台特点

  • 权限灵活
系统能够区分多个校区,并精细的控制每个角色、用户的权限。实现不同的人看不同的数据,不同的人看到不同的按钮。
  • 多端适配
兼容主流浏览器,适配各种PC设备、平板设备和手机设备。随时随地可以使用本平台。
  • 灵活安全
系统采用PaaS/SaaS架构,轻松实现定制开发。数据应用独立部署存储,保证数据安全性。
  • 教学工具
系统默认集成了Scratch、ScratchJr、Python、Turtle、C++、C、Java等编程教学工具。

三、 功能介绍

模块
功能
创作
Scratch3.0
ScratchJr
图形化Python
命令行Python
C++
C语言
Java
Blockly
个人中心
作品列表
我的课程
作品管理
个人设置
我的考试
我的答卷
错题本
我的作业本
刷题
用户中心
用户管理
 角色管理
通讯录
信息修改申请
用户积分
CMS管理
栏目管理
师资培训
教研活动
 文章列表
作品管理
全部作品
批改作业
布置班级作业
Scratch素材库
活动管理
活动列表
报名信息
评审成绩
班级管理
课程管理
科目管理
单元管理
课件库
班级排课
考试管理
命题任务
题库管理
学生答卷
试卷管理
考试排期
学生答题
学生错题
数据面板
学习数据面板
作业数据面板
考试数据面板
赛事管理
 赛事列表
赛事作品
赛事报名
获奖作品
系统管理

四、 技术选型

1.后端

  • SpringBoot 2.1.3
  • MyBatis-Plus
  • Shiro
  • Jwt
  • Redis
  • Lombok
  • Logback
  • Quartz
  • Maven
  • MySql5.6

2.前端

框架
说明
版本
Vue
前端框架
2.6.10
Vue Element Admin
管理后台页面脚手架

五、 编译与部署

宝塔部署教材地址  https://www.213.name/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e5%bf%ab%e9%80%9f%e9%83%a8%e7%bd%b2teaching%e5%bc%80%e6%ba%90%e6%95%99%e5%ad%a6%e5%b9%b3%e5%8f%b0/

环境准备

以CentOS服务器为例,其他系统操作流程基本一样。

安装mysql5.6

  1. 设置数据库表名忽略大小写(重要)

    lower_case_table_names=1

  2. 导入api/db文件夹的sql文件。如果是升级,需要依次按版本号执行升级sql。

安装 redis 6.0

安装Java

CentOS系统可执行命令一键安装 yum install -y java-1.8.0-openjdk

安装Nginx

注册配置七牛云

  • 登录 www.qiniu.com 注册后实名认证
  • 新建对象存储Kodo,访问控制设为:开放,记录bucket名字和存储区域以备后续配置
  • 绑定域名(免费分配的测试域名一个月后过期)
  • 获取accessKey,secretKey以备后续配置

后端编译和部署

修改配置

修改application.yml切换测试环境和线上环境,默认为线上环境,即使用application-prod.yml。

修改application-prod.yml

需要修改的地方:

domain: 您的站点域名# 本地:local 七牛云:qiniuuploadType: 文件存储目标# 数据库连接配置datasource:    master:      url: jdbc:mysql://127.0.0.1:3306/teachingopen?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false      username: teachingopen      password: teachingopen#Redis连接配置redis:      database: 1    host: 127.0.0.1    password: ''    port: 6379#七牛配置qiniu:  accessKey: 您的七牛accessKey  secretKey: 您的七牛secretKey  bucketName: 您的七牛bucketName  staticDomain: 您的七牛域名  area: 您的七牛存储区域(z0:华东 z1:华北 z2:华南 na0:北美 as0:东南亚 cn-east-2:华东-浙江2

配置文件可以编译后修改,推荐将.yml配置文件放到jar包同级目录,java将优先使用同级目录的配置,这样方便后续升级。

编译项目(若使用已编译好的jar文件,本步骤可以跳过)

配置maven源

<mirrors>       <mirror>            <id>nexus-aliyun</id>            <mirrorOf>*,!jeecg,!jeecg-snapshots,!getui-nexus</mirrorOf>            <name>Nexus aliyun</name>            <url>http://maven.aliyun.com/nexus/content/groups/public</url>        </mirror>  </mirrors>

在api目录执行

mvn clean package

编译成功后得到jar文件:\target\teaching-open-xxx.jar (xxx为版本号)

  • 上传jar文件到服务器,建议同时将yml配置文件也上传到jar同级目录
  • 启动后端api并放入后台执行

    nohup java -jar teaching-open-xxx.jar &

    或者上传并接执行启动脚本 bash start-teaching.sh

前端编译(若使用已编译好的前端,本步骤可以跳过)

  • 安装nodejs版本v12
  • 安装依赖 npm install 或 yarn install
  • 编译 npm run build 或 yarn run build

前端部署

将编译后的dist文件夹上传至服务器网站根目录

    • 配置Nginx

参考配置:

server{    listen 80 default_server;    server_name open.teaching.vip; # 改为你网站的域名    location / {      index index.html index.htm;      root /www/wwwroot/teaching-open; # 改为你网站目录的路径      if (!-e $request_filename) {          rewrite ^(.*)$ /index.html?s=$1 last;          break;      }      gzip on;      gzip_min_length 1k;      gzip_comp_level 9;      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;      gzip_vary on;      gzip_disable "MSIE [1-6]\.";    }        location ^~ /api    {        expires 0;        proxy_pass              http://127.0.0.1:8080/api/;        proxy_set_header        Host 127.0.0.1;        proxy_set_header        X-Real-IP $remote_addr;        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;        add_header X-Cache $upstream_cache_status;        add_header Cache-Control no-cache;    }}

六、UI展示

版权声明:
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!