Grain College Project Introduction

Project Introduction

The api document has been written at the beginning, so I won’t repeat it here.

1. Separate development of front-end and back-end

The back-end writes the interface, and the front-end adjusts the back-end interface to obtain the data and displays it. 80% of the back-end is manually typed, and the front-end is basically cv, but there are still many problems, which the teacher said in the video also exist Certain problem. The videos used in the first half of the front-end and the second half of the video were modified, and many configuration problems occurred.
I think that the front-end adaptation ended up being the most energy-consuming part of the entire project, which cost me a lot of time. I feel that the actual back-end writing is not very much, half of the energy is spent on front end.

2. Front-end technology used in the project

vue, including v-bind abbreviations:, v-model, v-for, v-if, v-html, and life cycle knowledge points: created(), before page rendering. mounted(), after the page is rendered, v-on binding
Element-UI
Nodejs
NPM package management tool, similar Maven, simple command init initialization, install download dependencies
Babel transcoder, ES6 converts ES5 code

The backend system uses vue-admin-templete, based on vue, Element-ui, and port 9528

The front-end system uses Nuxt, based on vue, port 3000, and server rendering technology

Echarts

3. Back-end technologies used in the project

1. Microservice architecture
Split the project into independent modules. Each module has its own port number. There is no relationship between modules and it is implemented through remote calling.

2. SpringBoot
Quickly build the scaffolding of the Spring project through the package scanning mechanism, @ComponentScan (package path)
In addition, the configuration file type is properties or yaml

Configuration file loading mechanism:
First bootstrap
then properties or yaml
and then the corresponding environment such as: dev ,test,prod

3. SpringCloud
The general name of many frameworks, implemented based on springboot
The frameworks include: eureka service registration, nacos, OpenFeign service invocation, Hystrix Fuse, Gateway, Config configuration center, Bus message bus, nacos

In the project, Alibaba nacos is used to replace some components of springcloud.

It also includes Feign service calls, where one microservice calls another microservice to achieve remote calling.

4. MyBatisPlus
MyBatisPlus is an enhancement to MyBatis and has not changed itself.
The project uses:
Autofill
Optimistic locking
Logical deletion
Code generator

5. EasyExcel
Alibaba provides Excel tools to encapsulate poi and use the SAX method (line-by-line operation) for analysis

6. SpringSecurity
The project integration framework implements the permission management function. I will follow it here. The teacher in the video was a little rushed and did not explain it clearly

7.Redis
Home page data is cached through Redis

8. Nginx
proxy server, which can perform request forwarding, load balancing, and static and dynamic separation

9.OAuth2+JWT
To solve specific problems, JWT develops a rule to generate a string, including three parts:
JWT header
Payload (user information)
Anti-counterfeiting mark

10.HttpClient
A tool that simulates a browser and sends requests and responses. Application scenarios in the project: WeChat login to obtain scanned person information, WeChat payment to check payment status

11.Cookie
Client-side technology, stored in the browser and client, every time a request is sent, a cookie will be carried.

12. Alibaba Cloud OSS (File Storage)
Add lecturers and upload lecturer avatars

13. Alibaba Cloud Video on Demand
Video upload, video deletion, video playback
Integrate Alibaba Cloud video player playback
Use video playback credentials to play

14. Alibaba Cloud SMS Service
When registering, send a mobile phone verification code and store it in redis for verification. The interface is written, but it cannot actually run. You need to spend money for authentication. I will It’s not correct, I just wrote this interface module without signature or template

Guess you like

Origin blog.csdn.net/zhihong2002/article/details/125056430