在线教育平台-day01-项目概述、cms接口开发

1 项目的功能构架

当前市场的在线教育模式多种多样,包括:B2C、C2C、B2B2C等业务模式,学成在线采用B2B2C业务模式,即向企业或个人提供在线教育平台提供教学服务,老师和学生通过平台完成整个教学和学习的过程,市场上类似的平台有:网易云课堂、腾讯课堂等,学成在线的特点是IT职业课程在线教学。

学成在线包括门户、学习中心、教学管理中、社交系统、系统管理等功能模块。
在这里插入图片描述

2. 技术架构

学成在线采用当前流行的前后端分离架构开发,由用户层、UI层、微服务层、数据层等部分组成,为PC、App、H5等客户端用户提供服务。下图是系统的技术架构图:
在这里插入图片描述
模块功能说明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
技术栈
在这里插入图片描述
重点了解微服务技术栈:

  • 学成在线服务端基于Spring Boot构建,采用Spring Cloud微服务框架。
  • 持久层:MySQL、MongoDB、Redis、ElasticSearch
  • 数据访问层:使用Spring Data JPA 、Mybatis、Spring Data Mongodb等
  • 业务层:Spring IOC、Aop事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis
    等。
  • 控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等
  • 微服务治理:Eureka、Zuul、Hystrix、Spring Cloud Config等

3. 静态门户工程搭建

1. ngnix的配置

server{
	listen 80;
	server_name www.xuecheng.com;
	ssi on;
	ssi_silent_errors on;
	location / {
		alias F:/teach/xcEdu/xcEduUI/xc‐ui‐pc‐static‐portal/;
	index index.html;
	}
}

window开发环境需要变更hosts文件,修改:\Windows\System32\drivers\etc\hosts文件

127.0.0.1 www.xuecheng.com

2. 服务端包含技术
页面内容多可以将页面拆成小页面,通过cms管理,便于修改,同时通过web服务的SSI技术合并渲染输出。
SSI:server side include,服务端嵌入。
指令:<!‐‐#include virtual="/…/…html"‐‐>
nginx配置:ssi on: 开启ssi支持,ssi_silent_errors on;ssi出错是不输出错误信息, ssi_types:默认为 ssi_types text/html。

4 CMS服务端工程

工程结构
在这里插入图片描述
数据存储:MongoDB

6 接口开发规范

  • Api请求及响应规范
    为了严格按照接口进行开发,提高效率,对请求及响应格式进行规范化。
    1、get 请求时,采用key/value格式请求,SpringMVC可采用基本类型的变量接收,也可以采用对象接收。
    2、Post请求时,可以提交form表单数据(application/x-www-form-urlencoded)和Json数据(ContentType=application/json),文件等多部件类型(multipart/form-data)三种数据格式,SpringMVC接收Json数据
    使用@RequestBody注解解析请求的json数据。
    4、响应结果统一信息为:是否成功、操作代码、提示信息及自定义数据。
    5、响应结果统一格式为json。

  • Api定义约束
    Api定义使用SpringMVC来完成,由于此接口后期将作为微服务远程调用使用,在定义接口时有如下限制:
    1、@PathVariable 统一指定参数名称,如:@PathVariable(“id”) 2、@RequestParam统一指定参数名称,如:
    @RequestParam(“id”)

7 Swagger

https://swagger.io/

8 postman

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值