django-crm项目
crm项目介绍:
- 我认为还是可以研究一下这个项目的,
- 为什么开发这个项目,
- 招生老师,和学生聊天,过段时间再联系,但是聊的多了记不住,
- 两个问题:
- 1,辞职了怎么办?生源都带走了,
- 2,如果一个学生和两个招生老师都聊过,算谁的客户,会有抢单,
- 学生交作业,最好是每一个学生所有的作业到毕业都有记录,
- 讲师需要可以跟踪每一个学生的学习效果,
- 老板也需要看看报表,比如客户的来源,分析这个来源是否产生了生源,是否还需要继续投入这个渠道,比如百度竞价排名,
- 在线教育,解决两个问题,
- 1,时间问题,学员没有固定时间,纯看视频人都比较懒,学不好,
- 2,空间问题,在哪里都可以学,
- 采用纯录播+一对一的辅导老师,但是一个辅导老师在不同的时间可以对接多个学生,
- 闯关式学习,每周有作业,过了之后学习下一个阶段,为了避免学生别人帮写作业,和辅导老师串通,考核需要录视频,这样自己人审查,就可以避免这个问题,
- 学生问问题,但是老师的人力是有限的,所以需要一个问答系统,
根据业务背景,需要分析需求,然后能落实需求:
- 分析需求:
- 销售:
- 1,存储客户信息,
- 2,办理报名手续,
- 3,跟进记录,一个客户需要跟进多次,所以是一个一对多的关系,需要分表
- 4,各种维度查询客户信息,
- 讲师:
- 1,点名,
- 2,批作业
- 3,创建上课记录
- 4,查看班级成绩,
- 5,课时申报,给老师发公司,是根据讲了多少课来的,
- 6,问卷调查,看看老师的讲课反馈
- 学生:
- 1,交作业,
- 2,查成绩,
- 3,请假,
- 4,我的合同
- 5,我的推荐,推荐别人来学习,
- 6,投诉建议,
- 老板:
- 1,销售报表分析
- 2,教学质量分析,
- 权限系统,
- 要设计一套通用的权限系统,设计比较多,
考虑系统架构
- 架构设计需要考虑的因素:
- 1,用户人群,是怎么样的,这个crm主要面对企业内部用户,所以对于各方面的要求不是很高,页面丑点没关系,甚至安全程度也可以适当降低,
- 2,用户量,针对企业内部用户量不多,如果是微博,每天上亿用户,用户量特别大,使用django就不合适了,需要使用tornado,django天生就是做内容管理的,就是通过不同形式把内容展现出来,这个crm就特别适合django做,微博会有高并发的问题,公司一般要求越快开发出来越好,
- 3,业务场景,业务比较简单,就是页面点击什么,然后就从数据库查询就可以了,没有复杂的后端逻辑,就是增删改查,
- ##############################
- 使用的技术,
- 1,django,
- 2,bootstrap
- 3,jQuery,
- ############################
- 需求分析完了,下一步就是设计表结构,大部分的交互都是和数据库交互,必须要确定好表结构,否则后续会出现问题,会有很多的坑,不断的出现坑,就填不过来了,但是肯定会有问题,因为业务是复杂的,多变的,
- 牛逼的开发,架构师,就能把路铺好,提前想到一些坑,
创建表结构:类名首字母一定要大写,使用mysql
- 客户表:没有报名的是客户,报名的是学生,报名的学生要到报名表,
- 客户跟进表,
- 课程表,
- 班级表,
- 课程记录表,一个课程每天都要有记录,一对多的,
- 学习记录表,
- 报名表,需要一个学生表,一个学生可能有多条报名信息,可以报多个课程,
- 账号表,
- 角色表,
###########################