GithubHelp home page GithubHelp logo

yanzheng326 / teaching-open Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open-scratch/teaching-open

0.0 0.0 0.0 107.39 MB

Scratch少儿编程教学平台,将集成Scratch、ScratchJr、Python、课程、班级部门、作业、权限、题库、赛事、社区等。

Home Page: http://teaching.vip/

License: Apache License 2.0

Dockerfile 0.05% Java 98.82% FreeMarker 0.90% Less 0.23% Python 0.01%

teaching-open's Introduction

Teaching 在线教学平台

===============

项目介绍

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

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

前往官网

查看本开源版DEMO

开源版功能

├─首页
├─创作
│  ├─Scratch
│  ├─Python
│  ├─ScratchJr
├─个人中心
│  ├─我的作业
│  ├─个人设置
├─我的课程
│  ├─卡片形式
│  ├─地图形式
├─作业管理
├─课程管理
│  ├─课程管理
│  ├─课程单元管理
├─系统管理
│  ├─用户管理
|  ├─角色管理
│  ├─菜单管理
│  ├─权限设置
│  ├─班级管理
│  └─字典管理
│  └─我的班级
│  └─通讯录
├─系统监控
│  ├─ ……

教学工具对接

技术架构

后端技术: SpringBoot_2.1.3.RELEASE + Mybatis-plus_3.1.2 + Shiro_1.4.0 + Jwt_3.7.0 + Swagger-ui + Redis

前端技术: Ant-design-vue + Vue + Webpack

其他技术: Druid(数据库连接池)、Logback(日志工具) 、poi(Excel工具)、Quartz(定时任务)、lombok(简化代码)、七牛云存储、Scratch二次开发

项目构建: Maven、Jdk8、npm或yarn

部署教程

环境准备

以CentOS服务器为例

安装mysql5.6

  • 设置数据库表名忽略大小写 lower_case_table_names=1
  • 导入api/db文件夹的sql文件

安装 redis 6.0

安装Java

yum install -y java-1.8.0-openjdk

安装Nginx

注册配置七牛云

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

后端

修改配置

修改application-prod.yml或application-dev.yml配置

修改application.yml切换测试和线上环境

参考:

domain: 您的站点域名

# 数据库连接配置
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: 您的七牛域名//qn.sgs.pub
  • 编译项目

在api目录执行

mvn clean package

编译成功后得到jar文件:\target\teaching-open-xxx.jar &

  • 上传到服务器

  • 启动后端api

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

前端

  • 安装nodejs版本v12

  • 修改配置

    public/index.html

      <!-- 全局配置 -->
    <script>
      window._CONFIG['qn_base'] = "//qn.open.teaching.vip/" //七牛域名
      window._CONFIG['qn_area'] = 'z0' //七牛存储区域 z0华东 z1华北 z2华南 na0北美 as0东南亚
      window._CONFIG['brandName'] = "Teaching" //品牌名
    </script>
  • 安装依赖 npm installyarn install

  • 编译 npm run buildyarn run build

  • 部署

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

  • 配置Nginx

配置实例:

server
{
    listen 80;
    server_name open.teaching.vip;
    location / {
      index index.html index.htm;
     root /www/wwwroot/teaching;
      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 12h;
        if ($request_uri ~* "(php|jsp|cgi|asp|aspx)")
        {
            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;
      #Set Nginx Cache
      add_header Cache-Control no-cache;
    }
}

测试账号

默认密码均为123456

  • admin —— 超级管理员
  • teacher —— 老师
  • student —— 学生

QQ交流群 : 191723983

teaching-open's People

Contributors

chengyu2333 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.