培训机构综合管理系统
项目背景
很多教育机构的培训业务在经过初期的快速试错后,已基本实现稳定增长。为了更好地促进业务发展,解决运营管理难问题,亟需建设符合自身业务特点、灵活应变的CRM系统。解决机构复杂多样化的数据管理、教务工作、管理工作和运营工作难题。
- 摆脱多套系统共用的局面;
- 塑造业务SOP,规范业务,提升效率;
- 沉淀业务数据,分析改善业务问题。
项目功能
本系统适用于教育机构内部人员,涉及到业务范围包括教务工作、管理工作和营销工作,包含以下功能模块:
项目架构
- 模块分类
这些模块大致分为如下几类,概要为 ADOSP
Advanced,为全模块的规则,所有的代码都需要遵守的规则,包含枚举,异常,基础类等;
Development,给开发人员用的快速开发工具,方便快速开发,例如日志,邮件,短信,缓存等;
Operations,偏运维类的封装,例如监控,调用链记录模块(待补充);
Service,偏应用功能的封装,例如用户管理,角色管理,公司管理,每个模块是一个独立的业务;
Pattern,设计模式或业务解决方案,例如高并发的解决方案,海量数据存储方案等(待补充)。 - 建设标准
模块建立的基本思想是建立开发规范,封装重用的代码,提高开发效率。
(1)每个大模块内部分api、sdk、business三类子模块
api为对其他模块暴露的接口;
sdk是对核心功能的封装;
business是带业务逻辑的封装;
以短信模块kernel-d-sms为例,sms-api模块是接口模块,是短信功能提供的所有接口。
sms-sdk-aliyun模块是阿里云短信的sdk封装。
sms-sdk-tencent模块是腾讯云短信的sdk封装。
sms-business-validation模块是带短信验证功能(业务)的模块。
api、sdk、business为三类模块,不是三个,一般api模块仅一个,sdk和business类模块可以无限拓展。
(2)依赖接口不依赖实现
模块与模块之间的调用,通过api模块来调用(例如sms-api),而不直接依赖他的实现(sms-sdk或sms-business),具体的实现由business模块决定或者由具体项目决定。
(3)支持拓展
同一个项目,一个api的实现可以有两个。
需要通过@Resource(name = "xxx")指定资源的名字,也可利用@Primary注解来替换使用已经装载的spring容器中的bean
start提供了默认的自动配置,在项目使用时,可以根据需要进行排除依赖。
(4) 依赖关系
business可以依赖sdk层,sdk层可依赖api层,反之不行。
不允许business模块依赖其他business模块,只允许在项目中出现同时引用两个business模块的情况。
S类的api模块可以依赖D类的api,反之不行,防止出现互相依赖(循环依赖)的情况。
项目展示
1. 会员等级
2. 会员成长值
项目优势/特色
- 功能灵活全面:智能排课、上课考勤、转班、续课、扣课等;
- 数据统计清晰明了,多维度查看数据,一键导出报表;
- 超贴心家校互动:上课提醒、课堂动态、课时提醒、续费提醒,互动沟通更简单;
- 学员、老师微信自助平台小程序,接收微信提醒以及自助查看上课信息。