學成在線--0.項目概述

文章目錄

    • 0.前言
    • 1.功能架構
    • 2.技術架構
    • 3.技術棧
    • 4.開發步驟

0.前言

當前市場的在線教育模式多種多樣,包括:B2C、C2C、B2B2C等業務模式,學成在線采用B2B2C業務模式,即向
企業或個人提供在線教育平臺提供教學服務,老師和學生通過平臺完成整個教學和學習的過程,市場上類似的平臺
有:網易云課堂、騰訊課堂等,學成在線的特點是IT職業課程在線教學。

1.功能架構

學成在線包括門戶、學習中心、教學管理中、社交系統、系統管理等功能模塊。
在這里插入圖片描述在這里插入圖片描述

2.技術架構

學成在線采用當前流行的前后端分離架構開發,由用戶層、UI層、微服務層、數據層等部分組成,為PC、App、
H5等客戶端用戶提供服務。下圖是系統的技術架構圖:
在這里插入圖片描述業務流程舉例:
1、用戶可以通過pc、手機等客戶端訪問系統進行在線學習。
2、 系統應用CDN技術,對一些圖片、CSS、視頻等資源從CDN調度訪問。
3、所有的請求全部經過負載均衡器。
4、對于PC、H5等客戶端請求,首先請求UI層,渲染用戶界面。
5、客戶端UI請求服務層獲取進行具體的業務操作。
6、服務層將數據持久化到數據庫。
各模塊說明如下:
在這里插入圖片描述在這里插入圖片描述

3.技術棧

下圖是項目技術架構的簡圖,通過簡圖了解項目所使用的技術棧。
在這里插入圖片描述
學成在線服務端基于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等

4.開發步驟

項目是基于前后端分離的架構進行開發,前后端分離架構總體上包括前端和服務端,通常是多人協作并行開發,開
發步驟如下:
1、需求分析
梳理用戶的需求,分析業務流程
2、接口定義
根據需求分析定義接口
3、服務端和前端并行開發
依據接口進行服務端接口開發。
前端開發用戶操作界面,并請求服務端接口完成業務處理。
4、前后端集成測試
最終前端調用服務端接口完成業務。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452306.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452306.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452306.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Java學習】JDBC可以再深一點理解

JDBC驅動程序 JDBC驅動程序是JDBC API中實現定義的接口。JDBC是java語言中的與數據庫連接的接口。也就是說JDBC是Java API,使得Java可以與數據庫進行連接,而JDBC驅動程序是JDBC API,驅動JDBC進一步與數據庫進行交互。 例如:使用JD…

想成為優秀的技術人員你必須做到的幾件事情

找工作的這幾天,收獲頗多。思考得最多的問題可能就是對未來的一個規劃。無意中看到下面幾條經驗,發現和自己想的也差不多,就分享出來。我要求自己做到這些,同時也希望對您也有所幫助。 1、保持學習 一個非常重要的觀點是&#x…

第 五 課 golang語言變量

1 變量三種聲明: (第一種的var和類型都是多余; 第二種最簡潔,但是第二種只能用在函數中,不能是全局變量的聲明) 第一種: var v_name v_type(注意順序)v_name value pack…

wordpress 評論ajax,WordPress教程 WordPress實現提交評論ajax翻頁效果教程

WordPress提交評論ajax翻頁的效果會很大的提高用戶體驗度,雖然我們一般的個人WordPress博客評論也不會有很多,但是用戶體驗至上嘛,所以WordPress主題站小編為大家分享WordPress實現提交評論ajax翻頁效果教程,希望能給大家能用得上…

Lombok的使用方法

文章目錄0.Lombok簡介1.在項目中添加Lombok的依賴2.在IDEA開發工具中添加Lombok插件0.Lombok簡介 Lombok是一個實用的java工具,使用它可以消除java代碼的臃腫,Lombok提供一系列的注解,使用這些注解可 以不用定義getter/setter、equals、構造…

【Python3網絡爬蟲開發實戰】4-解析庫的使用-3 使用pyquery

在上一節中,我們介紹了Beautiful Soup的用法,它是一個非常強大的網頁解析庫,你是否覺得它的一些方法用起來有點不適應?有沒有覺得它的CSS選擇器的功能沒有那么強大?如果你對Web有所涉及,如果你比較喜歡用CS…

世上最偉大的十個公式,質能方程排名第五

英國科學期刊《物理世界》曾讓讀者投票評選了“最偉大的公式”,最終榜上有名的十個公式既有無人不知的112,又有著名的Emc2;既有簡單的-圓周公式,又有復雜的歐拉公式…… 從什么時候起我們開始厭惡數學?這些東西原本…

爬蟲二(urllib模塊)

1、在python2和python3中的差異 在python2中,urllib和urllib2各有各自的功能,雖然urllib2是urllib的升級版,但是urllib2還是不能完全替代urllib,但是在python3中,全部封裝成一個類,即urllib python2中urlli…

逆向工程

軟件的逆向工程是分析程序以便在比源代碼更高的抽象層次上創建出程序的某種表示的過程,也就是說,逆向工程是一個恢復設計結果的過程,逆向工程工具從現存的程序代碼中抽取有關數據、體系結構和處理過程的設計信息。 簡單的說根據已有的東西和…

protocol buffer使用小例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 、使用EditPlus定義好一份proto文件(用EditPlus是為了不出現亂碼),如下 : package mypac…

2000服務器文件共享,Win2000 Server實現對共享文件的監控

病毒的出現,使我們在共享文件時變得異常小心。那么,有沒有辦法監控共享文件的使用情況并加以管理呢?有,用Windows 2000 Server的文件共享監控功能就可以實現。Windows 2000 Server的共享管理功能在“計算機管理”中,它…

學成在線--1.CMS接口開發

文章目錄0.定義CMS1.CMS頁面管理2.需求分析3.模型類介紹4.定義請求及響應類型5.定義接口6.創建CMS工程結構7.Dao1)創建Dao,繼承MongoRepository2)編寫測試類分頁查詢測試添加刪除修改8.Service9.Controller10.接口開發規范0.定義CMS 1&#…

django 進階

django進階 django的分頁器 基礎語法: View Code簡單練習: View Code實例應用: View Code自定義分頁: View Codeform表單系統 原生form View CodeDjango表單系統中,所有的表單類都作為django.forms.Form的子類創建&…

BZOJ 2440: [中山市選2011]完全平方數

Time Limit: 10 Sec Memory Limit: 128 MB Submit: 5160 Solved: 2515 [Submit][Status][Discuss] Description 小 X 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的…

如何減小與“大牛”的差距

為什么同樣的時間有的人可以漂亮的完成工作,而有些人廢了很大的力氣也沒有完成? 前者我們常常稱之為“大牛”,后者我們常常叫他們“菜鳥”。當然“大牛”都是相對而言的,“大牛”也不可能方方面面都非常厲害,換句話說大…

軟件再工程

軟件再工程是指對既存對象系統進行調查,并將其重構為新形式代碼的開發過程。最大限度地重用既存系統的各種資源是再工程的最重要特點之一。從軟件重用方法學來說,如何開發可重用軟件和如何構造采用可重用軟件的系統體系結構是兩個最關鍵問題。不過對再工…

武俠乂怎么修改服務器,武俠乂怎么操作 按鍵功能詳細介紹

武俠乂將在7月27日開啟限量測試了,入手前的第一件事情當然要熟悉操作按鍵了,下面給大家帶來的是武俠乂按鍵介紹,一起來看看吧。武俠乂將在7月27日開啟限量測試了,玩家們馬上就能體會到武俠吃雞的快感,除了吃雞模式外還…

RMI使用小例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1、定義一個接口(繼承Remote): 方法要拋RemoteException。 package rmi; import java.rmi.RemoteEx…

產品經理和項目經理有哪些區別?

1.產品經理和項目經理的差異 首先,產品經理和項目經理的職責定義不太一樣。 產品經理是 Product Manager ,主要是負責市場調研、用戶研究并根據用戶的需求,定義和設計產品,然后考慮產品的商業模式、運營推廣方式等。接下來去推動…

09-完整性約束

本節重點: not null 與 defaultuniqueprimaryauto_incrementforeign key一、介紹 約束條件與數據類型的寬度一樣,都是可選參數 作用:用于保證數據的完整性和一致性 主要分為: PRIMARY KEY (PK) #標識該字段為該表的主鍵&#x…