Project introduction: This project implements an online office system to manage daily office affairs: daily process approval, news, notices, announcements, file information, finance, personnel, expenses, assets, administration, projects, mobile office, etc. Easy to manage through software. This project is based on Vue+Spring Boot to build a front-end and back-end separation project. Simply put, the core idea of front-end and back-end separation is that the front-end page calls the back-end restuful api for data interaction through ajax, while a single page application (single page web application, SPA) has only one page, and when the user interacts with the application A web application that dynamically updates the page from time to time.
1. Technical Architecture
2. Front-end technical architecture
This project adopts the development mode of front-end and back-end separation, and uses Spring Boot to build the back-end. The front-end modules are divided into: login, position management, title management, department management, operator calendar, employee management, salary account management, personal center, online chat
The technologies used in the front end are:
Project construction: Vue-cli
State management: Vuex
Routing management: VueRouter
UI interface:ElementUI
Communication framework: Axios
Front-end syntax: ES6
Packaging: Webpack
Live Chat: WebSocket
Font: font-awesome
File upload and download: js-file-download
Online chat open source project: vue-chat
3. Back-end technical architecture
Back-end mainstream development framework: SpringBoot+Spring MVC+MyBatisPlus. Use Spring Security for security authentication and authority management, Redis for caching, RabbitMq for sending emails, use EasyPOI to import and export employee data, and use WebSocket for online chat
Security framework: Spring Security
Token: JWT
Graphic verification code: Kaptcha
Cache: redis
Document import and export: EasyPOI
Message Queuing: RabbitMQ does asynchronous processing, sending emails
Mail component: Mail
Live Chat: WebSocket
File server: FastDFS
DatabaseMySQL+Redis