.NET开源项目 QuarkDoc 一款自带极简主义属性的文档管理系统
有些话说在前头
因为公司产品业务重构且功能拆分组件化,往后会有很多的接口文档需要留存,所以急需一款文档管理系统。当时选型要求3点:
1.不能是云平台上的Saas服务,整个系统都要在自己公司部署维护(数据安全)
2..NET平台开发(利于维护)
3.开源(可按需重构)
大约三周前,在线上找了很久开源的文档管理系统但都不尽人意。(showDoc很好,但可惜不是.NET平台的,自个在公司大约有7个测试服务器资源(都是Windows Server),虽然有物理机权限可以自己随意创建虚拟机资源,但是考虑未来维护最终舍弃了)
而团队大量文档需要整理留存,我个人也因低效的文档留存方式而被另外一个开发妹子问的心态快炸(总会被打断思路),痛定思痛,下定决心要开发一套文档管理系统拯救我即将变白的黑发。
开发周期大约为4天既两个周末,因为赶工所以并非所有的容错细节都实现(比如:人员信息邮箱不可重复),但这只是个别,百分之九十都已做细节上的处理,并不会影响使用。
遗留问题后续的迭代将会完善。
关于QuarkDoc
QuarkDoc是一个极简主义的文档管理系统。适用于团队或个人管理文档,提升团队沟通成本(本人未来的迭代路线也将以文档管理及开发常用辅助功能为主)。
目前(beta)包含模块:团队人员管理,项目管理,目录管理,文档管理,辅助功能。
人员管理:权限为管理员和非管理员两者,非管理员将无法使用团队人员管理模块。
项目管理:非管理人员不可使用此模块。
目录管理:目录结构为3层可任意配置。
辅助功能:
1.Json数据格式验证
2.JSON参数转Url
3.Http模拟请求
版权相关
QuarkDoc遵循BSD许可协议(最大诚意了)。
即:你可以自由获得、复制、修改、分发本原创软件作品(源码);也可在源码基础上衍生你的软件作品。
衍生的软件作品(其源码)可以闭源而无需放置我的任何版权说明。但不可引用我的任何相关信息用于软件的版权声明或广告促销等。
注意:若使用QuarkDoc进行商业行为或衍生产品使用了本软件前端HTML部分请购买前端HTML正规许可( https://www.creative-tim.com/product/material-dashboard-pro/?affiliate_id=101249)这个前端样式框架不是我写的的需要另外获取许可。
更新日志
QuarkDoc的维护更新及源码发布一定是在 http://www.cnblogs.com/jonins 其它任何平台(如:GitHub、开源中国、CSDN等)都非原作者。(密码太多真心记不住,简简单单挺好)
/*****************************************************************************************************************
2018年9月4日 beta
链接:https://pan.baidu.com/s/15VUkMNyJjsY9ATsEIzUt5Q 密码:fvps 解压码:cnblogs/jonins
QuarkDoc出生并开源
******************************************************************************************************************
迭代计划:
1.代码删减,封装、并规范化(开发周期过短遗留下来的问题)。
2.图片上传。
3.附件上传。
4.模板留存。
5.历史版本。
6.权限(分项目、分读写)。
*****************************************************************************************************************/
部署QuarkDoc
1.下载源码
2.发布Mins.QuarkDoc.Web
3.在SQL Server 2008及以上版本执行数据库创建脚本(Mins.QuarkDoc.Web项目DBScript文件夹下DBScript.sql文件)
4.修改Web.config文件下的数据库连接串
<connectionStrings>
<add name="DBContext" connectionString="Data Source=server;Initial Catalog=QuarkDoc;User ID=sa;password=password" providerName="System.Data.SqlClient" />
</connectionStrings>
5.程序可以执行,初始登录权限(后续可以在人员管理进行修改)
账号:jonins@admin.com
密码:admin@admin
重构QuarkDoc
若认为QuarkDoc不错,想根据自己的需要更改需求,下面的内容或许能帮到你。
1.技术栈
前端:Vue + wangEditor + Bootstrap + Jquery.Validate + SweetAlert + Nouislider + Xss.js
后台:Asp.NET MVC + EntityFramework6 + Unity2.0 + Newtonsoft.Json + Nlog(本身是有的,DLL都拿过来了,但是在公司一周测试试用,并没有出现过问题,所以日志记录就暂时不加了)
设计思想:数据层采用仓储模式,业务层通过依赖注入继承基类的方式减少基础方法的直接实现,可使开发者更关注业务本身。因为本系统业务并不复杂,项目的逻辑压力根本没有到达逻辑层,大部分在控制器就已完成。
2.源码概括
示例QuarkDoc
.NET开源项目 QuarkDoc 一款自带极简主义属性的文档管理系统的更多相关文章
- 开源的api文档管理系统
api文档 php 在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api管理系统专门来管理这些ap ...
- 开源文档管理系统LogicalDOC测试报告---安装篇
开源文档管理系统LogicalDOC测试报告---安装篇 分类: Linux2011-06-22 15:40 7436人阅读 评论(3) 收藏 举报 文档管理测试mysql数据库installerja ...
- EasyDarwin开源流媒体云平台VS调试断点提示“还没有为该文档加载任何符号”的解决办法
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/52063666 近日,我们EasyDarwin ...
- 一款对Postman支持较好的接口文档生成工具
最近要编写接口文档给测试和前端看,通过网上查阅资料,也认识了很多款接口文档生成工具,比如易文档.ApiPost.ShowDoc.YApi.EoLinker.DOClever.apizza等,通过对这几 ...
- [原创开源项目]EPUBBuilder一款在线的epub电子书编辑工具
epub 感觉自己么么哒, epub书:国外最流行的电子书格式: epub电子书介绍: epub全称为Electronic Publication的缩写,意为:电子出版, epub于2007年9月成为 ...
- 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。
LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...
- 程序员带你学习安卓开发-XML文档的创建与解析
这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:程序员带你学习安卓开发系列-Android文件存储 因知识连贯性推荐关注头条号:做全栈攻城狮.从头开 ...
- iTextSharp带中文转换出来的PDF文档显示乱码
刚才有写一个小练习<Html代码保存为Pdf文件>http://www.cnblogs.com/insus/p/4323224.html.马上有网友说,当截取块有中文时,保存的pdf文件将 ...
- Linux企业级项目实践之网络爬虫(30)——通过查阅RFC文档扩充更加复杂的功能
HTTP是一种很简单的请求.响应式协议,客户端发送一个请求.服务器返回一个响应.HTTP 1.1 版本规范由 RFC2616 定义.了解了 HTTP请求.响应消息在TCP数据流中的格式,很容易使用纯 ...
随机推荐
- vi中的全局替换
一.基本语法 替换命令语法: :[addr]s/源字符串/目标字符串/[option] 全局替换: :%s/源字符串/目标字符串/g 参数说明: [addr]--表示检索范围,省略时表示当前行. &q ...
- 使用 pjsip 代码独立开发
1.在不改动pjsip代码的情况下,和pjsip工程目录并行建立win32控制台程序工程P2PTraversal 目录结构如下: . ├── pjproject-2.6 └── pjsipdemo 2 ...
- SQL SERVER 查看占用tempDB
use tempdb go t1.session_id, t1.internal_objects_alloc_page_count, t1.user_objects_alloc_page_count, ...
- 线程ThreadDemo04
package day190109; public class 线程ThreadDemo04 { public static void main(String[] args) throws Inter ...
- 全局Ajax加载时呈现Loading
全局设置: 1 2 3 4 5 $(document).bind("ajaxSend", function () { $("#loading_messag ...
- c复杂函数指针
函数指针,函数的返回值是数组 int *(*(*fun)(int* a, int* b))[]; 上面的代码是声明一个函数指针,这个函数有2个int指针参数,返回值是指针,指向的是数组,数组里放的是i ...
- HDU ACM 1690 Bus System (SPFA)
Bus System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- NumPy 中的集合运算
怎样快速找出两个数组中相同的元素? numpy.isin(element,test_elements,assume_unique = False,invert = False ) 计算test_ele ...
- Docker 从入门到实践(一)Docker 简介
读前须知:本教程大部分都是[Docker 从入门到实践 ]一书的知识,有兴趣可以直接观看书籍.同时,借鉴书籍的知识,如有侵权,请告知我,我会删除处理.谢谢. 一.什么是 Docker? Docker ...
- redis常用命令及结构
##常用结构及命令: keys * #查询所有key randomkey #随机返回key type key #返回key的类型 exists key #判断key是否存在 del key1 key2 ...