Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivan-fang/office-automation-system
一個辦公自動化系統,用於管理員工資訊以及將辦公流程自動化。An office automation system for managing employee information and automating office processes.
https://github.com/ivan-fang/office-automation-system
activiti java jwt knife4j maven mybatis mybatis-plus mysql redis spring spring-security springboot springmvc vue
Last synced: 27 days ago
JSON representation
一個辦公自動化系統,用於管理員工資訊以及將辦公流程自動化。An office automation system for managing employee information and automating office processes.
- Host: GitHub
- URL: https://github.com/ivan-fang/office-automation-system
- Owner: Ivan-Fang
- Created: 2023-10-26T16:35:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-02T02:56:52.000Z (8 months ago)
- Last Synced: 2024-10-12T02:40:30.456Z (27 days ago)
- Topics: activiti, java, jwt, knife4j, maven, mybatis, mybatis-plus, mysql, redis, spring, spring-security, springboot, springmvc, vue
- Language: Java
- Homepage:
- Size: 141 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 辦公自動化系統
## 專案介紹
* 本專案是一套辦公自動化系統,用於管理員工資訊以及將辦公流程自動化。
* 本專案可分為管理端與員工端兩部分。
* 管理端用於管理員工資訊、管理員工權限,以及管理辦公流程。
* 員工端負責讓員工在線上申請與審批各項辦公流程。* 本專案採前後端分離模式開發。前端頁面是套 `vue-admin-template` 的模板,本專案主要實現「後端」以及「前後端 API 串接」的部分。
* 本專案使用的技術如下:
* 後端業務邏輯:`SpringBoot`
* 資料庫操作:`MyBatis`、`MyBatis Plus`* 資料庫管理:`MySQL`
* 資料校驗:`Spring Security`、`JWT`(Json Web Token)
* 資料緩存:`Redis`
* API 文件生成:`Knife4j`
* 工作流引擎:`Activiti`
* 依賴管理:`Maven`
* 前端框架:`Vue`、`Element Plus`、`Axios`
* 本專案為尚硅谷[《雲尚辦公》](https://www.bilibili.com/video/BV1oM41177Jd/)的 Course Project。
## 專案截圖
## 細節說明
本專案使用以下技術完成各項功能的開發:
* 使用 `SpringBoot`、`Spring`、`Spring MVC`、`MyBatis`、`MyBatis Plus` 進行使用者、角色、選單(權限)、審批類型、審批模板的增刪改查,以及角色分配、權限分配。
* 使用 `Activiti` 進行工作流的定義、部屬、啟動,以及任務的查詢與審批
* 使用 `JWT` 對登入資料進行加密
* 使用 `Spring Security` 進行登入驗證與授權驗證
* 使用 `Redis` 緩存使用者名稱即其權限,以進行授權驗證* 使用 RESTful API 風格設計前後端 API
* 使用 `Knife4j` 生成後端 API 文件
## 使用步驟
1. 啟動專案
* 執行 `ivanfang-oa.sql` 裡的所有指令以建立 database 與相關 table。
* 執行後端程式(注意本專案使用 Java 8 進行開發,請確保執行環境一樣是 Java 8)
```
cd ivanfang-oa-parent
mvn spring-boot:run
```* 執行前端程式(管理端)
```
cd ivanfang-oa-admin
npm install
npm run dev
```* 執行前端程式(員工端,注意本專案使用 Node.js 14 進行開發,請確保執行環境一樣是 Node.js 14)
```
cd ivanfang-oa-web
npm install
npm run serve
```
* 啟動 redis-server,並建立一個資料庫,其 ip:port 為 127.0.0.1:63792. 使用專案
* 使用管理端
```
http://localhost:9528
```* 使用員工端
```
http://localhost:9090/#/test
```
* 查看後端 API 文檔
```
http://localhost:8805/doc.html
```* 如果想自定義流程的話記得啟動 Activiti,並將定義好的 .zip 檔上傳到管理端。
1. cd apache-tomcat-8.5.91/bin2. 使用 startup.bat 或 startup.sh 啟動 tomcat
3. 開啟網址:http://localhost:8080/activiti-explorer
4. 使用預設帳號(ketmit)密碼(ketmit) 登入
5. 到 Processes → Model workspace → New model 創建自定義流程,並下載成 .zip 檔
## 文件說明
* /ivanfang-oa-parent:後端程式碼
* /ivanfang-oa-admin:前端程式碼 - 管理端
* /ivanfang-oa-web:前端程式碼 - 員工端