This commit is contained in:
jack ning
2025-03-08 13:15:40 +08:00
parent 3c2d26fe42
commit bdbbb73763
9 changed files with 337 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

144
plugins/kanban/readme.zh.md Normal file
View File

@@ -0,0 +1,144 @@
<!--
* @Author: jackning 270580156@qq.com
* @Date: 2024-09-11 10:22:00
* @LastEditors: jack ning github@bytedesk.com
* @LastEditTime: 2025-03-08 13:04:33
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
* Please be aware of the BSL license restrictions before installing Bytedesk IM
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
* Business Source License 1.1: https://github.com/Bytedesk/bytedesk/blob/main/LICENSE
* contact: 270580156@qq.com
* 联系270580156@qq.com
* Copyright (c) 2024 by bytedesk.com, All Rights Reserved.
-->
# 项目管理系统
## 1. 系统概述
本系统是一个现代化的项目管理平台,采用敏捷开发理念,提供项目看板、任务管理、报告系统、日程管理等核心功能,帮助团队提高协作效率和项目透明度。
## 2. 核心功能模块
### 2.1 项目看板Kanban Board
- **看板视图**
- 待办To Do
- 进行中In Progress
- 已完成Done
- 支持自定义列表
- 拖拽功能实现任务状态转换
- **任务卡片功能**
- 任务标题和描述
- 标签系统(支持自定义标签)
- 截止日期
- 任务优先级
- 任务执行者
- 子任务管理
- 附件上传
- 评论与讨论
### 2.2 报告系统
- **日报管理**
- 今日完成工作
- 遇到的问题
- 明日计划
- 支持模板定制
- **周报管理**
- 本周工作总结
- 下周工作计划
- 项目进展报告
- 数据统计与分析
### 2.3 日历系统
- **日程管理**
- 任务截止日期展示
- 重要里程碑标记
- 团队会议安排
- 日历视图(日/周/月)
- 日程提醒功能
### 2.4 统计分析
- **项目统计**
- 任务完成率
- 项目进度追踪
- 成员工作量分析
- 延期任务统计
- **数据可视化**
- 燃尽图
- 任务分布图
- 进度趋势图
- 自定义报表
### 2.5 团队协作
- **成员管理**
- 角色权限设置
- 团队分组
- 成员任务分配
- **通知系统**
- 任务更新提醒
- 截止日期提醒
- 评论通知
- 自定义通知设置
## 3. 技术特性
- 响应式设计,支持多端访问
- 实时协作与数据同步
- RESTful API 接口设计
- WebSocket 实现实时通知
- 支持数据导入导出
- 第三方系统集成接口
## 4. 安全特性
- 基于角色的访问控制RBAC
- 数据加密传输
- 操作日志记录
- 定期数据备份
- 敏感信息保护
## 5. 部署要求
### 5.1 服务器环境
- JDK >= 17
- MySQL >= 8.0
- Redis >= 6.0
### 5.2 客户端要求
- 支持现代浏览器Chrome、Firefox、Safari、Edge
- 移动端自适应支持
## 6. 开发规范
- 遵循 ESLint 代码规范
- Git 工作流程规范
- 组件化开发
- 测试驱动开发TDD
- 持续集成与部署CI/CD
## 7. 项目文档
- 接口文档
- 部署文档
- 用户使用手册
- 开发文档
- 测试文档
## 8. 后续规划
- AI 辅助任务分配
- 自动化报告生成
- 多语言支持
- 自定义工作流
- 移动端 APP
- 更多第三方集成

View File

@@ -0,0 +1,30 @@
/*
* @Author: jackning 270580156@qq.com
* @Date: 2024-12-02 12:28:02
* @LastEditors: jackning 270580156@qq.com
* @LastEditTime: 2025-03-08 13:13:29
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
* Please be aware of the BSL license restrictions before installing Bytedesk IM
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
* Business Source License 1.1: https://github.com/Bytedesk/bytedesk/blob/main/LICENSE
* contact: 270580156@qq.com
* 联系270580156@qq.com
* Copyright (c) 2024 by bytedesk.com, All Rights Reserved.
*/
package com.bytedesk.kanban.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/plugins/kanban")
public class KanbanRouteController {
// http://127.0.0.1:9003/plugins/kanban/
@GetMapping({"", "/"})
public String index() {
return "kanban/index";
}
}

View File

@@ -0,0 +1,4 @@
@NonNullApi
package com.bytedesk.kanban.controller;
import org.springframework.lang.NonNullApi;

View File

@@ -0,0 +1,154 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]> <html class="no-js"> <!--<![endif]-->
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>项目管理看版 - 微语</title>
<meta name="description" content="微语项目管理看版">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/assets/vendor/bootstrap5/css/bootstrap.min.css" rel="stylesheet">
<style>
.feature-icon {
font-size: 2.5rem;
color: #0d6efd;
margin-bottom: 1rem;
}
.feature-box {
padding: 2rem;
border-radius: 10px;
background: #f8f9fa;
transition: all 0.3s ease;
}
.feature-box:hover {
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
</style>
</head>
<body>
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="#">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="#">微语项目管理系统</a>
</div>
</nav>
<div class="container my-5">
<div class="row text-center mb-5">
<div class="col">
<h1 class="display-4 mb-3">现代化项目管理平台</h1>
<p class="lead">采用敏捷开发理念,提供项目看板、任务管理、报告系统、日程管理等核心功能,帮助团队提高协作效率和项目透明度</p>
</div>
</div>
<div class="row g-4">
<div class="col-md-4">
<div class="feature-box h-100">
<div class="feature-icon">📋</div>
<h3>项目看板</h3>
<ul class="list-unstyled">
<li>待办/进行中/已完成视图</li>
<li>自定义列表支持</li>
<li>拖拽任务状态转换</li>
<li>任务优先级管理</li>
<li>子任务管理</li>
<li>标签系统</li>
</ul>
</div>
</div>
<div class="col-md-4">
<div class="feature-box h-100">
<div class="feature-icon">📊</div>
<h3>报告系统</h3>
<ul class="list-unstyled">
<li>日报管理</li>
<li>周报管理</li>
<li>项目进展报告</li>
<li>数据统计分析</li>
<li>自定义模板</li>
<li>报告归档</li>
</ul>
</div>
</div>
<div class="col-md-4">
<div class="feature-box h-100">
<div class="feature-icon">📅</div>
<h3>日历系统</h3>
<ul class="list-unstyled">
<li>任务截止日期展示</li>
<li>重要里程碑标记</li>
<li>团队会议安排</li>
<li>日/周/月视图</li>
<li>日程提醒</li>
<li>日程同步</li>
</ul>
</div>
</div>
<div class="col-md-4">
<div class="feature-box h-100">
<div class="feature-icon">📈</div>
<h3>统计分析</h3>
<ul class="list-unstyled">
<li>任务完成率统计</li>
<li>项目进度追踪</li>
<li>成员工作量分析</li>
<li>燃尽图</li>
<li>任务分布图</li>
<li>自定义报表</li>
</ul>
</div>
</div>
<div class="col-md-4">
<div class="feature-box h-100">
<div class="feature-icon">👥</div>
<h3>团队协作</h3>
<ul class="list-unstyled">
<li>角色权限设置</li>
<li>团队分组管理</li>
<li>任务分配</li>
<li>实时协作</li>
<li>评论与讨论</li>
<li>通知提醒</li>
</ul>
</div>
</div>
<div class="col-md-4">
<div class="feature-box h-100">
<div class="feature-icon">🛡️</div>
<h3>系统特性</h3>
<ul class="list-unstyled">
<li>响应式多端支持</li>
<li>数据实时同步</li>
<li>安全访问控制</li>
<li>数据加密传输</li>
<li>操作日志记录</li>
<li>第三方集成</li>
</ul>
</div>
</div>
</div>
</div>
<footer class="bg-light py-4 mt-5">
<div class="container text-center">
<p class="mb-0">© 2025 微语. All rights reserved.</p>
<p class="text-muted">北京微语天下科技有限公司</p>
</div>
</footer>
<script src="/assets/vendor/jquery-3.7.1.min.js"></script>
<script src="/assets/vendor/bootstrap5/js/bootstrap.bundle.min.js"></script>
</body>
</html>

View File

@@ -2,7 +2,7 @@
* @Author: jackning 270580156@qq.com
* @Date: 2024-01-29 16:17:36
* @LastEditors: jackning 270580156@qq.com
* @LastEditTime: 2025-02-27 11:13:13
* @LastEditTime: 2025-03-08 13:10:07
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
* Please be aware of the BSL license restrictions before installing Bytedesk IM
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
@@ -64,6 +64,7 @@ public class PageRouteController {
en.put("docs", "Docs");
en.put("monitoring", "Monitoring");
en.put("voiceOfCustomer", "Voice of Customer");
en.put("kanban", "Project kanban");
en.put("moduleDevelopment", "Module Development");
en.put("forum", "Forum");
en.put("ticket", "Ticket");
@@ -95,6 +96,7 @@ public class PageRouteController {
zh.put("docs", "文档");
zh.put("monitoring", "系统监控");
zh.put("voiceOfCustomer", "客户之声");
zh.put("kanban", "项目看板");
zh.put("moduleDevelopment", "模块简介");
zh.put("forum", "用户社区");
zh.put("ticket", "工单模块");
@@ -125,6 +127,7 @@ public class PageRouteController {
zhTW.put("docs", "文檔");
zhTW.put("monitoring", "系統監控");
zhTW.put("voiceOfCustomer", "客戶之聲");
zhTW.put("kanban", "項目看板");
zhTW.put("moduleDevelopment", "模組簡介");
zhTW.put("forum", "用戶社區");
zhTW.put("ticket", "工單模組");

View File

@@ -189,6 +189,7 @@
<li><a href="/ticket/" target="_blank">${i18n[lang]["ticket"]}</a></li>
<li><a href="/social/" target="_blank">${i18n[lang]["social"]}</a></li>
<li><a href="/voc/" target="_blank">${i18n[lang]["voiceOfCustomer"]}</a></li>
<li><a href="/plugins/kanban/" target="_blank">${i18n[lang]["kanban"]}</a></li>
<#-- <li><a href="/forum/" target="_blank">${i18n[lang]["forum"]}</a></li> -->
</ul>