Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了。

有一段时间没好好写文章了,可不是出去浪了,而是要做一个在线教育平台的项目,模仿着路飞学城,结果正好还赶上学校有一些课程要结课,忙里忙外的,今天也得交了,虽然不是很完善。

内容比较多,分了三篇文章才介绍完:
需求分析
设计 & 接口定义
整体架构

后记

写这篇博客的时候,这个项目已经到时间马上要交了,虽然还有很多不完善的地方,但也没办法了,总结一下整个项目吧。

整体来说,前端基本上都是用Vue写的,都是些基本操作,一些功能用到了Element。

对于Vue还不是很熟悉,因此在Vue中还引入了jQuery和Boostrap,在这一步有些麻烦,安装+导入的,看了好多教程,有很多都不靠谱,走了很多弯路,可惜具体看过那些文章有些记不清么,后续再总结吧。

总结起来呢,前端貌似并没有用到什么比较深入的东西,都是通过API获取后端的数据,然后渲染到页面上。

对了,关于登录功能稍微说一下,从后端获取数据之后除了要渲染用户名、头像等之外,还要保存token、identity等数据在localStorage中,这个东西在后续需要身份验证的时候很有用。

在前后端交互的过程中,跨域是个很麻烦的问题,针对不同的报错,可以通过编写Django中间件解决:

class crossDomain(MiddlewareMixin):def process_response(self, request, response):response["Access-Control-Allow-Origin"] = "*"if request.method == "OPTIONS":response["Access-Control-Allow-Methods"] = "DELETE, PUT, POST"response["Access-Control-Allow-Headers"] = "content-type"response["Access-Control-Allow-Headers"] = "access_token"return response

后端的话,是通过Django实现的,添加了自己写的RBAC组件和Stark组件实现权限、课程、用户的管理,这方面的东西不再赘述。

先说个美中不足的地方吧,接入支付宝功能没有实现,上来第一步安装alipay-sdk-python就浪费了好多时间,这东西需要一个叫cryto的包,为了安装它我还专门又安装了一个Microsoft Visual C++ Build Tools,吐槽一句,微软真狗。

安装完了之后时间就已经超预期安排了,没有时间再详细研读支付宝开放平台的文档,没办法,这个功能就只能暂时搁置了,后续有时间再具体实现吧。

再讲讲登录,做登录认证的时候,在Redis中存储登录用户的token、username、identity等信息,方便后续某些功能需要身份验证的时候取用。

而针对不同的模型,都有其对应的序列化器Serializer处理,方便对数据的获取和验证。


Github地址:https://github.com/koking0/LuffyCity
提供几个测试账号:

学员:用户名:koking 密码:20001001
导师:用户名:wupeiqi 密码:20001001
管理员:用户名:Alex 密码:20001001

在线教育平台项目——整体架构相关推荐

  1. 基于SpringBoot+Vue前后端分离的在线教育平台项目

    基于SpringBoot+Vue前后端分离的在线教育平台项目 赠给有缘人,希望能帮助到你!也请不要吝惜你的大拇指,你的Star.点赞将是对我最大的鼓励与支持! 开源传送门: 后台:Gitee | Gi ...

  2. 在线教育平台项目——需求分析

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 有一段时间没好好写文章了,可不 ...

  3. 【项目】在线教育平台项目总结

    1.项目总体描述 在线教育平台采用了B2C商业模块,基于微服务架构,采用前后端分离的方式进行开发 2.功能模块 基于前后台的模式开发,前台系统是给使用这个平台进行学习的用户,后台系统是给管理员使用的 ...

  4. 测试开发之Django实战示例 第十章 创建在线教育平台

    第十章 创建在线教育平台 在上一章,我们为电商网站项目添加了国际化功能,还创建了优惠码和商品推荐系统.在本章,会建立一个新的项目:一个在线教育平台,并创内容管理系统CMS(Content Manage ...

  5. Java全栈在线教育平台

    Java全栈在线教育平台 项目演示:https://live.csdn.net/v/89938 1.简介: 本项目是一个Java全栈在线教育平台,几乎包含所有端,如:web端.移动端.小程序端.pc端 ...

  6. 在线教育平台架构设计

    1.    目的 1.1.    目的 该架构设计主要针对在线教育平台建设过程中的核心需求进行设计,作为架构.设计.开发.测试.运维人员对系统的认识参考. 1.2.    名词解析: 系统:一个软件. ...

  7. 数仓项目——在线教育平台离线数据仓库效果展示

    背景:基于阿里云的3台ECS云服务器搭建了在线教育平台的离线数据仓库,本文仅用于记录最终的效果,从0到1的实现过程后续进行补充,由于抢占式实例的云服务器按量进行每小时计费,为了避免持续的收费,所以我急 ...

  8. Django项目于之在线教育平台网站的实战开发(三)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :Django项目于之在线教育平台网站的实战开发(二)_cdtaogang's blog-CSDN博客 ...

  9. Java怎么做三端_Java三端分离开发在线教育平台

    第1章 课程项目整体概述(整体介绍及Eclipse,Maven,新浪SAE软件平台介绍) 系统通过maven构建一个portal站,在sae上部署,让同学们感受一下互联网应用的魅力: 1-1 --课程 ...

最新文章

  1. java电话号码开头_JS使用正则验证手机号包含400和800开头号码
  2. mysql 回滚 前滚_Oracle 实例恢复时 前滚 后滚说明
  3. spark(1.1) mllib 源代码分析
  4. 打造GTD style的办公环境 V1.0
  5. 面向对象程序设计的术语
  6. python闭包两种写法_浅析Python闭包
  7. 开发环境配置--Ubuntu+Qt4+OpenCV(二)
  8. 重做系统,出现invalid switch noid
  9. arcmap shp导出cad无反应_软件技巧如何利用OSM提取场地CAD以及LANDUSE属性
  10. 文献参考文献著录规则
  11. lenovo启动热键_联想的u盘启动快捷键是什么_电脑开机如何进入u盘启动
  12. 【BUUCTF - PWN】babyheap_0ctf_2017
  13. pandas 错误 ValueError: ‘Lengths must match to compare‘
  14. 剑指offe系列之6:旋转数组的最小值
  15. 缓存篇(二)- JetCache
  16. Pytorch optimizer.step() 和loss.backward()和scheduler.step()的关系与区别
  17. 奖金600万美元的XPRIZE新冠病毒快速检测竞赛决出大奖获得者,以研制快速、大规模、低成本且简单易用的解决方案
  18. Linux文件类型与属性
  19. unknown mutation type SET_SINGER
  20. 离散数学:集合论的代数化样例

热门文章

  1. 浙江网新恒天软件有限公司企业云报表集成解决方案
  2. 用python爬取高考网历年高考分数线将数据放入MySQL并绘制图表
  3. 安卓逆向 AndroidManifest.xml 编辑 解码与编码工具
  4. 机器之心中的“号内搜”到底用没用搜索算法?
  5. .NET Core发送HTTP Post和Get
  6. 怎么开启小米Note 3的root超级权限
  7. K均值聚类算法 实验报告
  8. IE浏览器插件注册表位置
  9. vue.config.js 跨域配置
  10. 磁盘划分空间提示磁盘上没有足够的空间完成此操作,使用傲梅分区助手解决