仿照老外,我撸了一个 ITDB 系统

被各位朝南坐的神仙大人们亲切地称作网管的我,平日里工作早已是焦头烂额。

随着年龄的增长我感觉越来越疲于应付各路神仙,心里压力倍增,不堪重负。

行业内卷,年轻人躺平日渐盛行的今天,任劳任怨干了这么多年挨踢的我猛然发现自己也无法独善其身、置身事外。

应该勇于面对现实,不就卷嘛,不就是躺嘛,谁怕谁!

好,我也来卷上一卷!

没想到我还真卷了点东西出来了。


小伙伴们如果从事系统管理相关工作,多少会涉及到 IT 资产的管理与统计。

起初我也想偷个懒,想搞一套可用的类似于 IT 资产管理的系统,最好还不花钱。

于是,我找了这个,一个老外搞的叫作 ITDB 的系统。


这是一套基于 PHP 开发的 Web 版界面的资产管理系统。

这套系统还是很有特色的,就如图中所示,它通过硬件、软件、代理商、合同发票、位置场所以及使用者等等分类来构建一个互相关联、互相作用的整合式资产管理系统。

有了这套系统,我们将告别使用 Excel 来管理设备资产的日子。

官方链接:www.sivann.gr/software/itdb/


这不正是我想要的嘛,从各方面讲都很不错。

不过嘛,我并不是来给小伙伴们安利这套系统的。

因为系统更新停止久远,用如今的眼光看似乎又有些不足之处,比如:

  • 最新版本仍停留在 2016年3月6日的 1.23 版,作者已无再更新之打算。
  • 由于所处地区不同,各分类中的字段会出现无意义或缺乏适用于现在的所需字段等问题。
  • 操作流程、使用方式习惯风格迥异。
  • 英文界面,虽然有中文但有些字词可能不准确。
  • 缺乏扩展功能和更加细致的内容,比如图表等。


用着不是很爽,怎么办?

凭借我近几年的三脚猫编程功夫,无奈我只好硬着头皮干了,你们瞧瞧,内卷就是这么严重啊!

刚才介绍了 ITDB ,实则为借鉴它,用以仿照,但不完全照搬,在它在基础上重新构建、进一步强化,并且扩展部分功能,这是我的主要目的。

我准备将新系统取名为 XJ IT Item Database 简称 XJITDB (后面截图还没有更新,以后会更新)。

我用我比较熟悉的 Laravel + ViewUI 组合来开发制作 XJITDB 资产管理系统。

好,接下来让小伙伴们预览一下我做的半成品,以后还会努力抽空继续更新。


介绍

登录界面

很普通的登录界面,没有什么特殊之处。

其中一个验证码扩展,用的是 mews/captcha

另外还加了一个保持长期登录的开关,其实本质就是将登录 Cookies 的有效时间拉到足够长,比如三个月、半年甚至是一年。

整个系统的登录验证使用的是 jwt-auth 扩展,感觉这个挺方便的。


硬件界面

硬件项目列表,罗列各种硬件设备,包括各种参数。

与老外的 ITDB 系统比较,去掉了一些不需要的字段,追加了一些现在必须的字段,比如无线相关的字段。

在以后的更新中,也会陆续调整其中的所需字段,尽量做到信息最大化。


硬件作为主要大类,其中有些字段还需要细分,比如项目分类状态分类

项目分类及状态分类中的记录项,有默认系统定义好的,也可以自定义来增加管理的灵活性。


软件界面

软件相较于硬件要简单一些。

以后如有需要,可以扩展得复杂一些,比如追加软件的生命同期等。


发票界面

发票可用于查询购买设备的价格、日期等信息,方便与财务打交道。


合同界面

合同方便查询软硬件的购买情况及使用期限等信息。


代理商界面

代理商主要是用于记录某些设备是从哪些代理商购买或提供设备维护等信息的,同时还可以保存代理商的联系方式。

同一个代理商可以拥有多个类型的代理角色。


文件界面

文件涉及的面就多了,它可以是合同文件,也可以是发票文件,也可以是设备说明书等,所以单独成为一个类别。

具体一份文件属于哪一项目,则具体由项目中的选择来决定。


机柜界面

也叫机架或机箱,我感觉还是用机柜这说法比较统一易于理解。

它和之后要提到的位置有差不多的作用,可以用于定位设备在机柜中的具体所在位置。


位置界面

顾名思义,就是设备的定位。

不过它与具体的所在机柜比较,通常指的是区域、楼层或房间这样较大的范围场所。


使用者界面

这个不用过多解释了吧,就是设备相关的使用人员。

使用者信息可以批量录入,如果使用者数量庞大,将来也会追加 Excel 列表上传导入的功能。


事件界面

有关于故障修复、设备更换或其他一些与设备变更相关的记录。


本文链接

https://www.sysadm.cc/index.php/webxuexi/843-imitating-foreigner-i-built-an-it-item-database-system


环境配置

只要能跑 Laravel 框架的 PHP 环境一般都没有问题。

Linux/WindowsPHP-7.3+Apache-2.4+/Nginx-1.14+MySQL-5.7/MariaDB-10.5


下载安装

一、通过网管小贾博客下载安装完整版

网管小贾的博客文章中在不久的将来会附有完整打包好的程序压缩包下载。

只要配置好 PHP 运行环境,将压缩包解压后即可开始配置和使用。

如果你有一定的动手能力,那么可以自行下载 GitHub 版本后,再安装扩展组件等。


二、通过 GitHub 下载安装

项目名称:sysadm-cc/itdb

链接地址:https://github.com/sysadm-cc/ITDB


1、下载
git clone https://github.com/sysadm-cc/ITDB.git
 


2、安装依赖
composer install
 


3、建立环境文件
cp .env.example .env
 


4、生成应用密钥
php artisan key:generate
 


5、数据结构迁移
php artisan migrate
 


6、填充默认数据及设定
php artisan db:seed
 


7、将密钥复制到数据库

用文本编辑器打开 .env 文件,找到 APP_KEY 一项,复制 base64: 后面的字符串。

然后找到数据库的 configs 表,将 cfg_nameSITE_KEY 一项的 cfg_value 值更新为此字符串。

APP_KEY=base64:WGXJiHq22RcETV5xbxYNHxo8PLyBctQ6wCLPeaiQ0X8=
 


亦可使用以下 SQL 参数语句。

USE XJITDB;
UPDATE configs
  SET cfg_value = 'WGXJiHq22RcETV5xbxYNHxo8PLyBctQ6wCLPeaiQ0X8='
  WHERE cfg_name = 'SITE_KEY';
 


8、关注@网管小贾公众号,将获取到的注册密钥复制到数据库

网管小贾的博客上(即本文中)会定期(每年)更新注册密钥,免费提供给各位小伙伴。

大家只要关注@网管小贾的微信公众号即可免费获取。


找到数据库的 configs 表,将 cfg_nameSITE_EXPIRED_DATE 一项的 cfg_value 值更新为注册密钥字串。

亦可使用以下 SQL 参数语句。

USE XJITDB;
UPDATE configs
  SET cfg_value = 'WGXJiHq22RcETV5xbxYNHxo8PLyBctQ6wCLPeaiQ0X8='
  WHERE cfg_name = 'SITE_EXPIRED_DATE';
 


现状及后续

还有很多很多内容和功能有待完善,比如后台管理模块、查询模块、图表模块,又比如各模块联动等等。

这些都需要时间,目前为止我已经花了很多业余时间在做了,所以后续也会比较花时间,更新慢将是常态。


未完待续

其他一些补充内容,包括 BUG 收集或 TODO 等,有待补充完善。

欢迎小伙伴们三连走起,多提意见!


扫码关注@网管小贾,阅读更多

网管小贾的博客 / www.sysadm.cc



提交评论

安全码
刷新

© 2020-present 网管小贾 | 微信公众号 @网管小贾
许可协议:CC-BY-NC 4.0 | 转载文章请注明作者出处及相关链接