介绍了CRM系统的项目权限管理和用户注册流程的设计。
CRM(Customer Relationship Management)——客户关系管理系统是指企业利用软件、硬件和网络技术,收集、管理、分析和利用客户信息的信息系统。它以客户数据的管理为核心,记录企业在营销和销售过程中与客户的各种交互,以及各种相关活动的状态,并提供各种数据模型支持后期的分析和决策。
总之,CRM系统是一种主流的、高效的客户管理系统,在维护客户、挖掘新客户、避免客户流失和企业内部恶意竞争、降低营销成本等方面发挥着非常重要的作用。
【/br/】甲方,本服务作者,深耕培训行业多年。由于成立时间早,在信息管理方面比较薄弱。目前管理用户的方式是通过excel录入管理用户,通过邮件传递。这种管理方式不仅效率低下,而且在一定程度上容易出现数据泄露。
所以甲方希望有一套CRM,可以涵盖培训的招生、注册、学员管理等流程。由于保密要求高,开发完成后需要将RD团队部署在公司内网。
经甲方同意,本文仅介绍项目权限管理和用户注册流程的设计。
基于RBAC的权限管理(基于角色的访问控制)
一个完善的管理系统的底层逻辑,权限管理,往往是系统架构的第一步。在权限管理中,通常有四个不可避免的要素,即:
用户;角色;许可;Resources
在数据库表结构的设计中,我们通常使用OneToMany或ManyToMany来管理用户);;角色;许可(Permission)。
用户;角色;权限关系示意图
以上基本逻辑确定后,我们就可以轻松构建一个基本的权限体系:创建用户;分配角色;授予权利。
管理进程:
创建菜单和功能,开发者路由配置菜单对应URL
创建角色,分配角色可访问菜单(可访问URL)创建用户,为用户配置对应的角色(Role)用户操作流程
菜单栏在CRM系统的左侧。用户登录后,系统根据分配给用户的角色以及角色对应的权限显示菜单。
用户进入菜单后,我们需要第二次判断当前用户的读写权限,屏蔽部分页面的内容或操作。
原型设计如下:
以上是RBAC权限管理设计方案的简化版。在现实生活中,需要确定字段权限是否应该纳入权限管理以及字段权限的规则(只读、读写、不可见)。
培训机构招生时,通常的流程是:
用户咨询——销售记录用户咨询内容——销售跟进用户——用户填写注册信息——销售审核——用户付费——创建学员信息。
报名流程图
以下是对应流程中关于方案设计的主要信息:
主要对象:销售、用户;
操作设备:PC端为主,可能出现移动设备;支付需求:是;(需要用户申请对应的账号及API)网络需求:是;其他:部分字段脱敏处理操作人员:销售原型设计
创建新用户/用户详细信息
在这里,我们简化了一些字段,并向读者展示了一个简单的创建新用户/查看详细信息页面。由于B端系统的非标准性,在某些情况下,我们需要调整功能权限和显示字段。这就需要我们联系之前设计的权限管理,实现功能和需求的高度适配。
由于定制化程度高,开发周期短,我们在底层架构设计上往往采用成熟的方案,如RBAC权限方案、可高度复用的前端页面、基于角色权限的二级菜单等。减少了开发量和一些未知风险,在规定时间内完成了开发任务。【/br/】发表本文只是为了引起更多的关注,希望能和B端优秀的产品经理有更多的交流机会。如果文章有错误,也欢迎大家指正。