# crm系统
**Repository Path**: chamber-lain/crm-system
## Basic Information
- **Project Name**: crm系统
- **Description**: 这是一个基于Springboot+MyBatis+MySql实现的CRM系统
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 1
- **Created**: 2023-03-20
- **Last Updated**: 2024-03-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 项目介绍
**基于SpringBoot的CRM管理系统**
## 目录结构
前端:LayUI freeMaker
后端:Spring SpringMVC SpringBoot MyBatis Maven MySQL8 Linux CentOS ECharts(折线和饼状图)
权限管理 定时任务调度(quartz)CentOS Lombok
**模块分析总览:**
```shell
├── 基础模块: -- 用户登录、退出、记住我、密码修改
├── 营销管理: -- 营销机会管理、客户开发计划
├── 客户管理: -- 客户信息管理、客户流失管理
├── 服务管理: -- 主要针对客户,提高企业对客户的服务质量
├── 系统管理: -- 常量字典维护工作、权限管理模块
└── 数据报表: -- 了解客户开发结果整体信息
```
**项目前期环境的搭建**
```shell
- 创建SpringBoot项目 导入依赖
- 在src/main/resources 目录下新建 application.yml 配置文件
- 新建 org.example.crm.controller 包,添加系统登录,主页面转发代码
- 添加静态资源:在 src/main/resources 目录下新建 public 目录,存放系统相关静态资源文件,拷贝静态文件内容到public 目录
- 添加视图模板:在 src/main/resources 目录下新建 views 目录,添加 index.ftl、main.ftl 等文件。 (具体视图文件详见相关目录)
- 添加启动类:在 org.example.crm 包下新建 Starter.java
- 添加Base包:主要用户对Controller,Service Dao层的统一控制,BaseQuery用于控制按条件搜索的对象,ResultInfo是后端返回的对象的统一封装
- 准备MyBatis代码统一生成工具(generatorConfig.xml)
- 导入工具类,主要有:根据Cookie获取作用域,登录成功返回userIdStr加密,Md5协议加密,判断电话号码的格式,userID加解密等
```
## 项目运行:
**数据库:** 拉取项目到本地后,在数据库中需要先创建好名为`crm`的数据库,编码方式为`utf8mb4`,之后在`crm`数据库运行`blog.sql`文件,数据库会自动创建好表并导入数据。
**后端:** 修改`application.yml`配置类中相应的参数信息。
**前端:** 项目启动成功后输入管理员账号:admin 密码:123456 进行登录即可进入系统
**代码生成器运行:** 使用` mybatis-generator`代码生成器
## 项目特点
- 前端前台样式参考hexo的样式"竹"、"Butterfly","风丶宇的个人博客"进行设计,整体美观简洁
- 前端后台样式参考"若依框架"、"element-admin"、"楠橘星后台管理"进行设计
- 使用"element-ui"进行样式渲染,重写部分"element-ui"样式源码,侧边栏、面包屑导航自动生成
- 后台采用RBAC模型,支持动态权限分配,前端菜单与后台权限实时更新
- 项目前后端分离开发,适应当前潮流
- 评论支持表情的输入和回复功能
- 博客编辑器采取Markdown语法,编辑文章快捷方便
- 博客留言墙采取弹幕样式,整体显示更加便捷
- 文章支持代码高亮和复制,增加用户阅读代码的体验
- 项目支持自定义相册以及相册预览,提升用户体验
- 增加文章目录,优化用户阅读体验
- 添加音乐播放器,支持自定义配置QQ音乐歌单
- 页面切换采用了NProgress进行过渡,增加项目美观程度
- 使用Spring AOP自定义注解实现日志管理
- 集成Mybatis-Plus代码生成器,简化后续开发
- 前端代码层次简单,没有进行严重封装,便于后端开发者阅读与扩展开发
- 后端代码编写遵循阿里巴巴开发规范,利于开发者学习
## 开发环境
| 开发工具 | 功能作用 |
| -------- | ------------- |
| Idea | Java开发工具 |
| Navicat | MySQL连接工具 |
| 开发环境 | 版本 |
| -------- | ------ |
| JDK | 1.8 |
| MySQL | 8.0.13 |
## 项目技术栈
**LayUI Freemarker MySq18 Java8 Mybatis3 SpringBoot**
## 项目总结
虽然目前项目已经基本完成,但是项目仍然有很多可以进行优化和改进的地方,后续我会不断进行迭代更新,项目不足之处也欢迎大家对我提出问题和建议,关于系统实现的一些问题,我也会竭尽我所能来为大家解答,2609015467@qq.com,我们一起探讨。
最后感谢大家的支持.