前言
大家好,今天推荐一个文档管理系统Dorisoy.Pan。
Dorisoy.Pan 是一个基于 .NET 8 和 WebAPI 构建的文档管理系统,它集成了 Autofac、MediatR、JWT、EF Core、MySQL 8.0 和 SQL Server 等技术,以实现一个简单、高性能、稳定且安全的解决方案。
这个系统支持多种客户端,包括网站、Android、iOS 和桌面应用,覆盖了文档管理的全流程,如计划、总结、开发、模板、测试、验收、设计、需求、收藏、分享、回收站和总空间等30多种核心功能。
项目介绍
Dorisoy.Pan 是一款基于.NET 8.0的免费、跨平台的文档管理系统。支持 MS SQL 2012 及以上和 MySQL 8.0 及以上数据库,可在 Windows、Linux 或 Mac 上运行。
系统采用全异步方法和令牌认证,遵循最佳安全实践,提供高性能、稳定且安全的文档管理体验。
源代码完全开放且可定制,采用了模块化和清晰的架构设计,使开发和定制特定功能变得简单快捷。
Dorisoy.Pan 利用最新的.NET 生态技术栈,为用户提供了一个既稳定又安全的文档管理解决方案。
项目技术
项目使用的技术栈分为:
- 后端采用 .NET 8、EF Core、NLog、AutoMapper、FluentValidation、Newtonsoft.Json 和 MediatR;
- 前端则使用 Node.js 和 Angular。
- 支持的数据库包括 MS SQL 2012 及更高版本和 MySQL 8.0 及更高版本。
项目结构
项目使用
1、后端启动步骤
- 使用 Visual Studio 2019 或更新版本打开解决方案文件 Dorisoy.Pan.sln。
- 在解决方案资源管理器中右键点击并选择"还原 NuGet 包"。
- 更新 Dorisoy.Pan.API 项目中的 appsettings.json 文件内的数据库连接字符串。
- 通过 Visual Studio 菜单中的"工具">"NuGet 包管理器">"包管理器控制台",打开包管理器控制台。
- 在包管理器控制台中,设置默认项目为 Dorisoy.Pan.Domain。 在控制台中运行 Update-Database 命令以创建数据库并填充初始数据。 将 Dorisoy.Pan.API 设置为启动项目。 按 F5 键启动项目。
2、前端启动步骤
如果尚未安装 Node.js,请访问 https://nodejs.org,下载并全局安装 Node.js(确保版本号至少为 4.0,同时 NPM 版本至少为 3),并全局安装 TypeScript。
- 全局安装 Angular CLI:npm install -g @angular/cli 使用 Visual Code 打开项目目录 \UI。 在集成终端中运行 npm install 以初始化并安装依赖项。
- 运行 npm run start 启动 Angular 开发服务器。
- 当 Angular 开发服务器在 localhost:4200 上监听时,在浏览器中打开 http://localhost:4200/。
- 为了在本地构建并运行生产版本,请执行 ng build --prod。这将生成一个包含压缩后的 HTML、CSS 和 JS 文件的应用程序生产版本,并放置在 dist 文件夹中,该文件夹可用于部署到生产服务器。
项目展示
- 演示地址:http://pan.dorisoy.com/
- 默认账号:admin@gmail.com 密码:admin@123
1、Desktop 客户端示例
|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
| | | |
2、Web 客户端示例
项目地址
**GitHub:**https://github.com/dorisoy/Dorisoy.Pan
总结
对于刚开始接触 .NET 8 和 WebAPI 的小伙伴来说,Dorisoy.Pan 提供了一个全面的学习资源,帮助我们快速掌握跨平台开发的技能。项目代码行数为 42,310 行,是一个适合深入学习和实践的保姆级项目。
需要的小伙伴们赶快学习起来吧,希望能够帮助大家提升技术。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号**[DotNet技术匠]** 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!