# onlinecollege
**Repository Path**: zhangyujia520/onlinecollege
## Basic Information
- **Project Name**: onlinecollege
- **Description**: 易学云视频学习平台
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 26
- **Forks**: 6
- **Created**: 2019-10-15
- **Last Updated**: 2024-03-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# onlinecollege
#### 项目介绍

本系统设计分为学习系统、试题系统、后台系统,共有普通用户、教师和后台管理者这三种用户角色。
普通用户在前台系统中进行观看课程、在线支付等操作;在试题系统中进行答题、查看成绩等操作。
教师在后台系统中进行上传课程和试题等操作。
后台管理者在后台系统中进行课程管理,权限管理,用户管理等操作。
----
#### 系统架构

----
##### 模块介绍
- ocProject:父工程,负责管理本项目的所有依赖。
- ocCommon:通用模块,负责提供本项目通用的实体类、工具类等。
- ocFacade:接口层,由于本项目是基于Dubbo的,所以将接口抽成一个模块,这样一来服务层实现ocFacade,而应用层则调用ocFacade。应用层不需要依赖接口层的具体实现(服务层)。
- ocService:ocFacade的具体实现,作为Dubbo中的服务提供者。
- ocSSO:单点登录系统,负责整个平台的认证。
- ocSearch:基于Solr,以远程调用方式提供课程检索服务。
- ocPortal:门户系统,提供课程浏览、课程观看等功能。
- ocExamination:试题系统,提供试题浏览、在线答题、查看成绩等功能。
- ocOperator:后台管理系统,提供轮播图、课程、试题、用户等管理功能。
----
#### 技术结构

----
#### 环境准备
软件|配置|备注
---|:--:|---
JDK 8|.|.
Maven 3.5.3|.|安装Maven后,在IDE中配置Maven
MySQL 5.7.22|ocCommon的jdbc.properties、applicationContext.xml|安装完成后,创建名为ocdb的数据库,将ocdb.sql导入该数据库。
Redis 4.0.11|ocCommon的application.properties|.
Zookeeper 3.4.9|.|.
Dubbo 2.5.9|dubbo-provider.xml、dubbo-consumer.xml|.
Solr 6.6.2|ocCommon的application.properties|安装中文分词器以及课程检索字段
详情参考:系统中一些设计.docx
IDEA IntelliJ 2019.1.3|.|打开ocProject的pom.xml,以project形式导入。
##### 七牛云
本项目使用七牛云的对象存储,用于存储图片和视频。
需要配置的地方:ocCommon的QiniuCloudUtil、application.properties
参考链接:https://blog.csdn.net/Code_shadow/article/details/81454334
##### 支付宝沙箱
本项目的PC端支付是基于支付宝沙箱实现的。
需要配置的地方:ocPortal的AlipayConfig
注意:这里还需要解决支付宝回调时内网穿透的问题(natapp)
参考链接:https://blog.csdn.net/Code_shadow/article/details/84564145
支付宝账号:nohuew9136@sandbox.com,密码:111111
----
#### 使用说明
模块|命令|备注
---|:--:|---
ocService|运行Start|将Dubbo服务注册到Zookeeper
ocSSO(82)|clean tomcat7:run|提供单点登录服务
ocSearch(83)|clean tomcat7:run|提供课程检索服务
ocPortal(80)|clean tomcat7:run|http://localhost/ocPortal/index
(账号:zhangyu,密码:111111)
ocExamination(84)|clean tomcat7:run|http://localhost:84/ocExamination/page/common/index.html
ocOperator(81)|clean tomcat7:run|http://localhost:81/ocOperator/page/common/index.html
注意:访问ocOperator首页时,如果页面报错,是因为这里使用了最近七天的统计数据,需要手动修改 `t_system_statics` 表里统计数据的时间为最近七天。这里统计数据的功能是由定时任务来做的,每天统计一次(`applicationContext-quartz.xml`),将数据存放到 `t_system_statics` 表(ocOperator的 StaticsJob)。
----
#### 温馨提示
本项目使用的部分第三方功能权限与鄙人相关(账号密钥),比如支付宝沙箱、七牛云对象存储等,这些功能不保证可用时长,希望大家能逐渐替换里面所使用到的个人信息。
本项目所使用的中间件已安装到以下虚拟机中,启动虚拟机,根据文档将相关配置修改即可使用
链接: https://pan.baidu.com/s/1kMXjoPucZYg3S-k_eAuUNg 提取码: 4hk1