Git Product home page Git Product logo

onlinestudy's Introduction

onlinestudy

利用django结合restful规范开发的一个在线视频教育平台,可播放,播放调用保利威加密视频,可购买,购买调用支付宝接口。 另内含一个后台管理平台,基于角色等级的控制,根据不同的角色有不同的菜单功能显示

开发环境

  • 后端:

    • django 2+
    • python 3.7
  • 前端:

    • vue 2.5.2
    • webpack 3.6.0
    • Element-UI 2
  • 规范协议:

    • restful
    • PEP8协议
  • 数据库:

    • mysql(业务逻辑部分)
    • redis(持久化存储登录状态,商城数据)
  • 第三方组件/接口:

    • 支付宝支付接口
    • 极验验证码
    • 保利威加密视频
    • matplotlab数据可视化
    • kindeditor富文本编辑器
    • bootstrap-datepicker日期选择器

主要功能

  • 前端部分:
    • 在线播放视频(本项目中由于加密视频平台的测试账号有效期已过,目前无法播放)
    • 登录注册均调用极验验证码验证机制
    • 课程相关展示
    • 购物车、优惠券
    • 作业提交、问题提问、商品评价
  • 后端部分:
    • 采用restful规范,利用django的DRF组极简与前端分离并做数据交互
    • 与前端部分的数据存储使用redis永久存储
  • 后台部分:
    • 造了一个轮子 —— django-startX 快速实现后台权限管理
    • 造了一个轮子 —— django-rbac 快速完成根据角色不同做不同的功能权限限制
    • 利用matplotlab模块,对注册用户、账单进行数据分析形成趋势图

账户相关

  • 所有测试用户的密码都是123
  • django的超级用户账户:root/123456

程序流程图

启动项目之前

  • 后端部分请按照根目录的requirements.txt文件安装必须的第三方依赖

    • 安装命令

    pip install -r requirements.txt

  • 前端部分请进入根目录,运行如下命令安装必须的第三方依赖

    • 前提请自行安装node.js

    npm install

启动项目

后端部分:

进入后端根目录onlinestudy
python manage.py runserver 127.0.0.1:8000 (启动地址随意)

自动转化代码为PEP8规范

进入后端根目录onlinestudy

``autopep8 --in-place --aggressive --aggressive onlinestudy ``

单元测试

进入后端根目录onlinestudy

``python manage.py test ``

前端部分:

进入前端端根目录onlinestudy

开发环境:npm run dev
生产环境:npm run bulid

启动之后的界面展示

由于数据来源后端动态显示,所以无法在线展示,以下是图片展示

  • 前端部分

    首页

    首页

    底部

    课程

    • 并且课程支持按标签,按热度,价格高低筛选

    课程部分

    • 滑到中下部自动出现购物车和回顶部的悬浮按钮

    高级课程

    课程详情部分

    课程详情部分

    购买部分

    • 如果未登录就会跳到登录页面

    登录页面

    注册页面

    登录之后进入首页

    购物车

    结算中心

    选择优惠券

    支付宝支付

    我的订单页面

    学习中心部分,课程课时

    作业页面

    • 由于我的保利威测试账户有效期已过,所以无法正常显示视频

    视频播放页面

  • 后端部分

    后台登录页面

    后台首页

    菜单列表

    权限批量分配页面

    账单列表

    账单报表

    用户列表

    • 富文本插件的使用

    资讯管理

    • datepicker的使用

    datepicker

    注册用户分析

    角色列表

    角色功能分配

    学生列表

    课程列表

    课程详情列表

onlinestudy's People

Contributors

eeyhan 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.