一、下载项目文件

  • 项目文件源码链接:https://pan.quark.cn/s/480e348a588a
  • 如出现网盘空间不够存的情况!!!解决办法是先用夸克手机app注册,然后保存上方链接,就可以得到1TB空间了!!!!!

二、项目简介

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

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

三、平台特点

3.1 权限灵活

        系统能够区分多个校区,并精细的控制每个角色、用户的权限。实现不同的人看不同的数据,不同的人看到不同的按钮。

3.2 多端适配

        兼容主流浏览器,适配各种PC设备、平板设备和手机设备。随时随地可以使用本平台。

3.3 灵活安全

        系统采用PaaS/SaaS架构,轻松实现定制开发。数据应用独立部署存储,保证数据安全性。

3.4 教学工具

        系统默认集成了Scratch、ScratchJr、Python、Turtle、C++、C、Java等编程教学工具。

四、功能介绍

五、技术选型

5.1 后端
  • SpringBoot 2.1.3
  • MyBatis-Plus
  • Shiro
  • Jwt
  • Redis
  • Lombok
  • Logback
  • Quartz
  • Maven
  • MySql5.6
5.2 前端
  • Vue 2.6.10
  • Vue Element Admin

六、编译与部署

6.1 宝塔部署教材地址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/
6.2 环境准备

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

6.3 安装mysql5.6
  1. 设置数据库表名忽略大小写(重要)

    lower_case_table_names=1

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

6.4 安装 redis 6.0

        略

6.5 安装Java

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

6.6 安装Nginx

        略

6.7 注册配置七牛云
  • 登录 www.qiniu.com 注册后实名认证

  • 新建对象存储Kodo,访问控制设为:开放,记录bucket名字和存储区域以备后续配置

  • 绑定域名(免费分配的测试域名一个月后过期)

  • 获取accessKey,secretKey以备后续配置

6.8 后端编译和部署
        6.8-1 修改配置

        修改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将优先使用同级目录的配置,这样方便后续升级。

6.9 编译项目(若使用已编译好的jar文件,本步骤可以跳过)
        6.9-1 配置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>
        6.9-2 在api目录执行mvn clean package
        6.9-3 编译成功后得到jar文件:\target\teaching-open-xxx.jar (xxx为版本号)

                上传jar文件到服务器,建议同时将yml配置文件也上传到jar同级目录

                启动后端api并放入后台执行

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

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

6.10 前端编译(若使用已编译好的前端,本步骤可以跳过)
  • 安装nodejs版本v12

  • 安装依赖 npm install 或 yarn install

  • 编译 npm run build 或 yarn run build

6.11 前端部署

        将编译后的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 展示

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐