SmartWork
SmartWork 是一个结合 Notion + Jira 思想的企业级协作管理平台。
目标:
- 知识管理
- 文档协作
- 项目任务管理
- 团队协作
- 文件管理
- 权限控制
核心理念:
使用 Notion 的知识管理能力 + Jira 的项目管理能力,打造一个轻量级团队工作平台。
| 技术 | 版本 | 用途 |
|---|---|---|
| .NET | 10 | Web API开发 |
| ASP.NET Core | 10 | 后端接口框架 |
| C# | 14 | 主要开发语言 |
用途:
- ORM
- Code First开发
- 数据库迁移
数据库:
SQL Server
开发方式:
Entity Class
↓
EF Core Migration
↓
SQL Server Database
用途:
- 用户管理
- 用户注册
- 用户登录
- 密码管理
- RBAC权限
数据库:
AspNetUsers
AspNetRoles
AspNetUserRoles
AspNetUserClaims
认证方式:
JWT Access Token
+
Refresh Token
认证流程:
Vue
↓
用户名密码
↓
.NET API
↓
Identity验证
↓
生成JWT
↓
返回Token
用途:
- 请求日志
- 异常日志
- 用户操作日志
记录:
API访问
错误异常
用户行为
系统事件
用途:
- 用户信息缓存
- 热点数据缓存
- Token管理
- 临时数据存储
例如:
User Profile
Workspace List
Document Cache
用途:
执行后台任务:
例如:
- 定时清理数据
- 发送通知
- 生成统计数据
任务:
Scheduler
↓
Background Worker
↓
Database Update
用途:
请求参数验证。
例如:
用户注册:
Email不能为空
密码长度>=8
用户名唯一
用途:
- API测试
- 接口文档
- API交互式调试
- OpenAPI 可视化展示
用途:
前端框架。
用途:
- 类型安全
- 提高大型项目维护性
用途:
前端构建工具。
用途:
后台管理系统UI组件。
包含:
- Table
- Form
- Dialog
- Menu
- Pagination
用途:
管理:
- 用户状态
- Token
- Workspace信息
用途:
页面导航。
例如:
/dashboard
/document
/task
/member
用途:
调用.NET API。
功能:
- Token自动携带
- 请求拦截
- 错误处理
用途:
容器化。
镜像:
Frontend Image
Backend Image
Redis Image
SQL Server Image
用途:
生产环境部署。
部署结构:
Nginx Ingress
|
----------------------------
| |
Vue Container .NET API Container
|
----------------
| |
SQL Server Redis
- 用户注册
- 用户登录
- 修改密码
- JWT认证
- Refresh Token
- 用户资料
数据库:
User
Role
Permission
功能:
显示:
- 用户信息
- 日期
- 工作空间
按钮:
新建文档
创建任务
上传文件
邀请成员
展示:
文档数量
任务数量
成员数量
文件数量
显示:
谁创建了文档
谁完成了任务
谁上传了文件
类似 Notion Space。
功能:
- 创建空间
- 删除空间
- 修改空间
- 邀请成员
结构:
Workspace
|
|---- Document
|---- Task
|---- File
|---- Member
数据库:
Workspace
WorkspaceMember
类似 Notion。
功能:
支持:
- 搜索
- 分类
- 标签
支持:
- Markdown
- 图片
- 代码块
- 链接
保存:
版本号
修改人
修改时间
数据库:
Document
DocumentTag
DocumentHistory
类似 Jira。
功能:
状态:
TODO
IN_PROGRESS
REVIEW
DONE
字段:
任务名称
描述
负责人
优先级
截止日期
状态
包含:
- 评论
- 附件
- 操作记录
数据库:
Task
TaskComment
TaskAttachment
类似 Google Drive。
功能:
- 上传文件
- 下载文件
- 删除文件
- 文件分类
存储:
开发:
Local Storage
生产:
AWS S3
数据库:
File
功能:
- 查看成员
- 邀请成员
- 修改角色
角色:
Admin
Manager
Member
Guest
功能:
展示:
- 任务截止时间
- 工作安排
- 项目计划
功能:
通知:
任务完成
评论提醒
成员邀请
系统消息
数据库:
Notification
全局搜索:
搜索:
文档
任务
文件
成员
功能:
- 修改头像
- 修改昵称
- 修改密码
- Token管理
- 主题
- 通知配置
功能:
- 查看用户
- 禁用用户
- 修改角色
配置:
Role
Permission
查看:
登录日志
操作日志
异常日志
User
Role
Permission
Workspace
WorkspaceMember
Document
DocumentTag
DocumentHistory
Task
TaskComment
File
Notification
AuditLog
推荐 Clean Architecture:
SmartWork
src
├── SmartWork.API
├── SmartWork.Application
├── SmartWork.Domain
├── SmartWork.Infrastructure
└── SmartWork.Shared
src
├── views
│
├── Dashboard
├── Workspace
├── Document
├── Task
├── File
├── Member
├── Calendar
├── Setting
├── components
├── router
├── stores
├── api
└── utils
完成:
- 用户注册登录
- JWT认证
- 权限管理
- Dashboard
完成:
- Workspace
- Document
- Task
增加:
- Redis
- Serilog
- Hangfire
- AuditLog
- 文件上传
完成:
- Docker
- Kubernetes
- CI/CD
打造一个:
基于 .NET 10 + Vue3 + Kubernetes 的企业级知识管理与项目协作平台。
技术能力覆盖:
- Web API设计
- 身份认证
- RBAC权限
- ORM设计
- 缓存
- 日志
- 后台任务
- 容器化部署
- 云原生架构