使用R Shiny构建项目管理工具

无论是大型还是小型项目,其成功在很大程度上取决于项目的规划、跟踪以及资源的利用情况。市场上有各种工具/软件可以帮助管理项目。构建这个应用的目的并不是要在市场上击败所有其他工具,而是尝试实现一个基于R Shiny的基本版本的项目管理工具。在尝试了一些小型的POC之后,想到了测试技能,构建一些更复杂的项目,并加入一些产品思维过程。这个博客/应用将是那些对学习Shiny框架感兴趣的人的一个很好的起点。

先决条件

需要对R和Shiny有基本的了解。对于Shiny应用的快速简短示例,请查看简单的R Shiny应用

开始使用

为了保持实现非常通用,创建了包含在任何项目管理工具中都非常常见的字段的样本数据,例如:项目名称项目编号项目开始日期项目结束日期预算项目类型等。

侧边栏菜单项

侧边栏菜单项包括主页、项目与任务、自助服务、帮助以及生成报告等选项。这些菜单项通过dashboardSidebarsidebarMenu函数实现,其中包含图标和标签页名称。

首页

首页将展示通常跟踪项目的所有基本指标的快照,例如完成的项目数量、进行中的项目、暂停或延迟的项目。将使用Shiny小部件valueBoxOutput来跟踪项目状态。

还想根据类别、复杂性和其他参数跟踪项目。因此,让创建一堆饼图、环形图和条形图,使用plotlyOutput()

如果可以以表格形式通知即将到期的截止日期、逾期任务等,那将非常有帮助,为此将使用DTOutput(),它将具有排序和过滤数据的选项。

项目与任务页面

每个项目下都有多个任务,这些任务将分配给负责人和团队成员,并有开始日期和结束日期。因此,以下是希望拥有的基本功能:

用户应该能够在表格中选择一个项目,这将导致过滤下面的表格中相应的任务。

项目状态应根据其完成情况、进行中、延迟或暂停自动着色编码。

用户应该能够通过点击按钮重置选择。

对于任何选定的项目,应自动生成甘特图。

还应该有一个地方以图表的形式展示每个负责人的任务负载。

用户应该能够选择列并更改它们的顺序。这将帮助用户为更轻松的视图对一列列进行分组。

用户应该能够添加、删除、更新记录,类似于在MS Excel中的做法。

应用程序动态提供图表、表格和警报,帮助全面了解所有项目和相关任务。但是,有时候可能想要为特定场景切割和切片数据,在这种情况下,通常会提取数据并在BI工具或大多数时候在Excel中进行分析。

在应用程序本身上有一个像Excel透视表这样的基本功能将很有帮助,它允许用户实验数据并为给定场景可视化结果。为了实现这个类似Excel的功能,将使用rpivotTable库。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485