Code Monkey home page Code Monkey logo

jymusic0663 / mulanbay-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mulanbay/mulanbay-server

0.0 0.0 0.0 5.17 MB

木兰湾是用于管理个人消费、锻炼、音乐、阅读、健康、饮食、人生经历等各个衣食住行信息的个人信息管理系统,通过提醒、计划模块利用调度系统来统计分析执行情况,并通过积分和评分体系来综合评估个人的总体状态。系统基于SpringBoot前后端分离,技术栈:Spring、Hibernate、Quartz、Vue

Home Page: https://gitee.com/mulanbay

License: Apache License 2.0

Java 99.92% Dockerfile 0.08%

mulanbay-server's Introduction

项目介绍

木兰湾管理系统是用于管理个人消费、锻炼、音乐、阅读、健康、饮食、人生经历等各个衣食住行信息的系统,通过提醒、计划模块利用调度系统来统计分析执行情况。 并通过积分和评分体系来综合评估个人的总体状态。

系统可以说是一个个人助理系统,它主要解决三个问题:

  • 我的计划(期望)是什么?
  • 我要做什么?
  • 我做了什么?

该系统是前后端分离的项目,当前项目mulanbay-server为后端API项目,只提供系统的api接口,整个系统必须要同时运行前端才能完整访问。

木兰湾管理系统前端项目:

VUE版本

Jquery版本(V3.0版本后不再维护,以VUE版本为主)

木兰湾项目说明

功能简介

  • 基于RBAC的用户权限管理
  • 支持分布式运行的调度功能
  • 基于AHANLP的自然语言学习服务
  • 提供消费、锻炼、音乐、阅读、健康、饮食、人生经历等常用模块
  • 统一的日志管理及日志流分析
  • 提供基于模板化的提醒、计划、图表、行为配置及分析
  • 统一的日历管理,提供日历自动新增、完成功能
  • 提供磁盘、CPU、内存的监控及报警,并可以自动恢复
  • 数据库数据、备份文件自动清理
  • 统一及强大的图表统计分析功能
  • 基于微信公众号消息、邮件的消息提醒服务
  • 基于错误代码的消息发送可配置化
  • 基于Hibernate的配置化的查询便捷封装
  • 提供可配置的个人积分和评分体系
  • 提供多角度的用户行为分析
  • 提供词云、相似度、智能问答等分析功能

文档地址

木兰湾文档https://www.yuque.com/mulanbay/rgvt6k/uy08n4

所用技术

  • 前端:Vue、Jquery、Element UI、Echarts
  • 后端:Spring Boot、Hibernate、Quartz、NLP、Redis & Jwt
核心依赖 版本
Spring Boot 2.3.4.RELEASE
Hibernate 5.4.21.Final
Quartz 2.3.2

项目结构

mulanbay-server
├── mulanbay-business    -- 通用业务类
├── mulanbay-common      -- 公共模块
├── mulanbay-persistent  -- 持久层基于hibernate的封装
├── mulanbay-pms         -- 木兰湾API接口层
├── mulanbay-schedule    -- 调度模块封装
├── mulanbay-web         -- 基于SpringMVC的一些封装

项目运行与部署

本地运行

# Step 1:初始化数据库

1. 下载源代码
2. 在mysql中创建数据库,比如:mulanbay_db
3. 初始化数据库,执行mulanbay-pms工程docs目录下的sql文件:mulanbay_init.sql

# Step 2:修改配置文件

1. 在mulanbay-pms/src/main/resources/目录下新建application-local.properties文件,设置本地配置。
   其中Mysql数据库配置、Redis配置为必须配置,如果需要使用微信公众号的消息发送功能,需要配置.
2. 智能客服、词云、商品重复度、饮食重复度等需要用到AHANLP的自然语言处理,需要配置hanlp.properties,ahanlp.properties
  * hanlp.properties文件中需要设置根路径,如:root=D:/ws/AHANLP_base-1.3
  * ahanlp.properties文件中需要设置里面的各个配置项
  * 词云模块需要使用Python的wordcloud插件,安装命令:
    pip3 install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple
  * NLP所需要的ahanlpData文件包,请到百度网盘下载:(链接:https://pan.baidu.com/s/101vlabHehB71va82G9U-9A 提取码:yaqm )
    或者直接去原作者项目处下载:https://github.com/jsksxs360/AHANLP

# Step 3:打包&运行

1. 开发环境
  运行mulanbay-pms子工程下的cn.mulanbay.pms.web.Application

2. 正式环境
  * 进入到mulanbay-server目录,运行mvn clean package
  * 运行mulanbay-pms/target下的mulanbay-pms-3.0.jar文件

    `nohup java -jar mulanbay-pms/target/mulanbay-pms-3.0.jar &`

后端项目默认的端口是:8080

docker-compose运行

docker-compose up -d

环境变量

变量名 默认值 说明
PYTHON_PATH /usr/bin/python3
AHANLP_PATH /AHANLP_base-1.3
AHANLP_WORD2VECTOR_MODEL /AHANLP_base-1.3/data/model/Google_word2vec_zhwiki1710_300d.bin
PICTURE_BASEURL http://localhost:99/avatar 图片地址前缀
SYS_MOBILE_BASEURL http://localhost:94 移动端基础路径
SYS_WORDCLOUD_PIC_PATH /uploads/wordcloud 词云的图片目录
SCHEDULE_ENABLE true 调度配置是否启动
SCHEDULE_SUPPORT_DISTRI false 调度配置是否支持分布式任务
SYS_BUYRECORD_STAT_USESTATE true 购买记录统计中是否启用商品类型里的可统计字段(如果启用了,则增加消费记录统计的复杂度)
SYS_PAGESEARCH_MAXPAGESIZE 100 分页每页最大数
REWORD_CREATE_BY_TEMPLATE_PERPOINTS 10 根据模板新增的增加积分数(单个)
MYSQL_HOST 127.0.0.1
MYSQL_DATABASE mulanbay
MYSQL_PORT 3306
MYSQL_USER root
MYSQL_PWD root
SECURITY_LOGIN_MAXFAIL 5 最大登录失败次数
SECURITY_PWD_SALT abc123456 MD5密码的盐值
SECURITY_TOKEN_SECRET abcdefghijklmnopqrstuvwxyz 令牌密钥
SECURITY_TOKEN_EXPIRE_TIME 1800 令牌有效期(默认30分钟)
SECURITY_TOKEN_VERIFY_TIME 1200 验证令牌有效期(默认20分钟)
MAIL_USERNAME 邮件发件地址
MAIL_PWD qq邮箱采用授权码发送,非邮箱密码
MAIL_SERVER_HOST
MAIL_SERVER_PORT
REDIS_SERVER_IP 127.0.0.1
REDIS_SERVER_PORT 6379
REDIS_SERVER_DB 10
REDIS_SERVER_PWD
REDIS_DEFAULT_EXPIRATION 300
WX_APPID
WX_SECRET
WX_TOKEN
WX_USER_MESSAGE_TEMPLATE_ID 微信消息发送模板编号
WX_ACCESS_AUTH_REDIRECT_URL
WX_OAURL 公众号地址
WX_OA_QRURL /uploads/wechatqr.jpg 公众号二维码本地地址
NOTIFY_MESSAGE_EXPECT_SEND_TIME 09:00 默认的消息提醒发送时间
NOTIFY_VALIDATE_ERROR false 是否要通知表单验证类的消息提醒
NOTIFY_MESSAGE_SEND_MAXFAIL 3 消息最大发送失败次数
NOTIFY_MESSAGE_SEND_LOCK false 消息发送是否需要锁定
SHARES_WITH_CACHE true 股票相关
SHARES_CACHE_SECONDS 5 股票相关
SHARES_MONITOR_TASKTRIGGERID 30 股票价格监控的调度ID(根据实际来写)
SHARES_STAT_TASKTRIGGERID 31 股票统计的调度ID(根据实际来写)
DATE_FORMAT yyyy-MM-dd HH:mm:ss 时间的json格式
TIMEZONE GMT+8 解决spring json解析相差8个小时的时区问题(针对POST方法,且时间为yyyy-MM-dd模式)

挂载目录

/AHANLP_base-1.3

/AHANLP_base-1.3/data/model/Google_word2vec_zhwiki1710_300d.bin

/uploads/avatar

/uploads/wordcloud

/uploads/wechatqr.jpg

软件要求

软件 版本
JDK 1.8+
Nginx 1.17+
Redis 6.0+
Mysql 8.0+

硬件要求

内存4G+

系统架构

系统模块

系统模块

系统结构

系统结构

业务流程

业务流程

图表分类

图表分类

在线演示

暂未提供

技术交流

  • QQ群:562502224

参考/集成项目

木兰湾管理系统参考、集成了一些项目,有些功能自己也只是一个搬运工,先感谢大家的开源。

Q&A

  • Q:用户计划的时间线统计图没有数据?

    A: 计划的时间线数据需要日终调度程序来统计的,第二天凌晨后才会有当天的数据。

  • Q:我的日历里面没有数据?

    A: 自动生成的日历也是需要日终调度程序来统计的,第二天凌晨后才会有数据。 不过日历也可以手动创建,但是手动日历无法自动关闭。

项目展望

使用&授权

  • 源代码100%开源
  • 个人使用完全免费
  • 公司内部使用免费,对外商业运营则需要授权

项目截图

基于Vue的PC端

基于Vue的移动端

微信公众号消息推送

mulanbay-server's People

Contributors

fenghong007 avatar jymusic0663 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.