【开源】一款基于SpringBoot的少儿编程在线教育平台
一、下载项目文件
- 项目文件源码链接: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
-
略
-
设置数据库表名忽略大小写(重要)
lower_case_table_names=1 -
导入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=falseusername: teachingopenpassword: teachingopen#Redis连接配置redis:database: 1host: 127.0.0.1password: ''port: 6379#七牛配置qiniu:accessKey: 您的七牛accessKeysecretKey: 您的七牛secretKeybucketName: 您的七牛bucketNamestaticDomain: 您的七牛域名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 展示


















魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)