Introduction to sz-education

轼辙云 (sz-education) is a new generation of microservices teaching management platform based on Spring Cloud, providing multi-tenancy, permission management, exams and exercises.

The exams support single choice, multiple choice, indefinite choice, judgement and short answer questions.

轼 means handrail at the front of the car and 辙 means the tyre tracks left by the car going by. By naming the platform this way, I want to express that the ultimate victory will come to those who are forward-looking and have a habit of looking back and taking stock of the past.

Deploying this project locally can be found in this article at Instruction for deploying sz-education locally

For some factors, the deployment tutorial requires authorization to view, you can try the password or contact me.

1. Function Overview

The project is divided into two parts: the front-end website and the back-end management. The front-end mainly provides examination functions, while the back-end provides basic management and examination management functions.

The frontend mainly provides online examination and online learning functions

Backstage management is divided into: system management, system monitoring, examination management, attachment management, personal management

System management: provides basic management of users, departments, roles and permissions, etc.
  • User management: add, delete, change, import and export user information
  • Department management: add, delete and check department information
  • Role management: add, delete and check role information and assign permissions
  • Menu management: add, delete, change and check menu information, import and export
  • Terminal management: management of OAuth 2.0 clients, such as client_id, client_secret, access_token validity time, etc.
  • Routing management: gateway routing management, including the addition, deletion and checking of routes, refreshing routes, etc.
System monitoring: monitoring services, logs, etc.
  • Log monitoring: view system logs
  • consul monitoring: consul service monitoring
  • zipkin monitoring: monitoring service call links
  • Service monitoring: spring boot admin service monitoring
  • Interface documentation: swagger api documentation
Examination Management: Provide management of courses, examinations, question banks, results, etc.
  • Course management: add, delete, change and check course information
  • Exam management: add, delete and check exam information, question management, issue and recycle, question management supports simple text, rich text input, add from the question bank, etc.
  • Question bank management: add, delete and check question categories, add, delete and check question information
  • Results management: view results, export results
  • Knowledge base: add, delete and check knowledge base, upload attachments
Attachment management: all attachments of the project are stored in fastDfs, providing a unified management portal
  • Attachment list: manage all attachments, such as user avatars, exam attachments, knowledge base attachments, etc.
Personal management: manage personal data and change passwords
  • Personal information: modification of basic information such as name and avatar
  • Change password: change password

System function diagram


System Functions

2. Technology Selection

Technology Name Tool
Service Registration and Discovery Consul
Fuse Hystrix + Turbine
Client-side load balancing Ribbon
Internal service calls Feign
Gateway Spring Cloud Gateway
Authentication Forensics Spring Cloud OAuth2 + JWT
Program Monitoring Spring Boot Admin / Spring Boot Actuator
Distributed Configuration Center Spring Cloud Config
Distributed call chain monitoring Spring Cloud Sleuth + Zipkin
Database MySQL
Deployment Docker + docker-compose
Build Tools Maven
Back-end API Documentation Swagger
Message Queue RabbitMQ
File Storage 七牛云
Cache Redis
Front-end vue

3. System Architecture Diagram


System Architecture Diagram

4. Core Dependencies

Name Version
Spring Boot 2.1.11.RELEASE
Spring Cloud Greenwich.SR4

5. Project Structure

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
common                // System Common Module 
├── common-core //System Common Core Module
| //Encapsulate generic configuration, constants, exceptions, base entities, etc.
├── common-feign //System public feign module
| //Encapsulate generic feign configuration for carrying access_token between service calls
├── common-log //System public log module
| //Encapsulate logging logic to record logs asynchronously
├── common-config //General Basic Configuration
├── common-basic //Public base configuration
//encapsulating basic configuration including Redis startup, gender enumeration, etc.
├── common-oss //oss configuration, ecapsulating the oss configuration including FastDfs
└── common-security //System public security module, including resource server configuration
//Encapsulating the common configuration of resource servers in OAuth 2.0

modules //Business Modules
|-- auth-service-parent //Certification Authorization Services
|-- auth-service-api //Authentication authorization service api
|-- auth-service //Authentication authorization service specific implementation
|-- user-service-parent //user service
|-- user-service-api //user service api
|-- user-service //User services specific implementation
|── exam-service-parent //exam service
|-- exam-service-api //exam service api
|-- exam-service //exam service specific implementation
└── msc-service-parent //message center
|-- msc-service-api //message center api
|-- msc-service //message center specific implementation
frontend //Frontend page
├── sz-education-ui //Backend management front-end page
├── sz-education-web //User front-end page
config-service //Configuration Center (local repository)
gateway-service //Gateway (dynamic routing)
monitor-service //Spring boot amdin monitoring service

6. Interface Display

Front Desk Examination Subsystem

Front Login Front Home
Courses List Exams List
Exam Interface one Exam Interface two
Exam records Answer Details

Back office management subsystem

Backend Login Backend Exam Management
Backend Exam Share Backend Exam Add
Backend Exam Add Detail Backend Score Management
Backend Score Details Backend Score Mark
Backend Subjects Management Backend Subjects Adding Rich Edit
Backend Menu Management Backend Client Management
Backend Role Management Backend Route Management
Backend User Management Backend Msg Management

Systems Monitoring

Consul Monitor Log Management
Spring Boot Admin Monitor Spring Boot Admin Monitor Detail
Zipkin Monitor one Zipkin Monitor two

System deployment

See more details on [Instruction for deploying sz-education locally]https://blog.shimmerjordan.eu.org/2021/03/10/sz-educationLocalDeploy/

Article token access is currently not available to everyone, please contact me if you need token unlocking

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2024 鞠桥丹-QIAODAN JU
  • 访问人数: | 浏览次数:

请我喝杯蓝莓汁吧~

支付宝
微信