Skip to content

vectorstone/moneysave-back

Repository files navigation

前端项目 后端项目

使用说明

背景:

家庭记账项目属于自己开源的一个独立制作的项目,适合于家庭内部使用,成员之间的记账数据实现了隔离处理,支持将市面上一些记账app的数据一键导入功能,利用Echarts展示分析图表,部署简单,方便家庭内部进行支出统计和分析。 主要包含了权限管理模块、Excel数据导入导出模块、Echarts图表展示模块、账单的增删改查模块。

登录和注册

可以登录和注册

首页

登录后默认以月为单位展示过去半年内的消费支出情况 可以选择时间段查看支出的趋势图(选择完时间后,点击绿色的v实现数据的查询以及图表的绘制)

点击click me,surprise会将用户的所有的数据以大比例海尺图的形式展示

共有六级菜单

管理员具有修改用户的权限,普通的用户只能操作自己的数据,并且每个用户之间的数据互相隔离,保证安全和隐私

账单页面

账单页面可以实现将excel数据导入本系统中,也可以下载本系统中的所有的数据为excel格式 可以对账单进行增删改查

字典管理页面

字典管理页面中包含了所有的账单的分类信息,普通的用户仅仅可以新增分类,无法修改和删除分类 同样可以通过上传的形式将excel表格中的分类数据导入到本系统中

excel上传功能注意事项

excel请按照后端项目根目录下的accountBook.xlsx和categoryDict.xlsx的格式,否则会上传失败

数据分析页面

该页面中的内容和首页里面的内容几乎一致

菜单,角色,用户管理

管理员可以根据实际的需要进行相对应的修改

项目部署

说明

初始状态只有admin一个管理员用户,默认密码: 123456

环境需求

JDK1.8 , Maven3.6.3 , MySQL8.0 , Redis

配置文件修改

将文件clone到本地后请修改如下的配置文件 system-service/src/main/resources/application.yaml

修改MySQL数据库连接信息

配置文件中我使用了jasypt来保护敏感信息,建议大家都这么做,具体的使用步骤参考我的这篇post jasypt加密工具的使用

修改redis数据库的连接信息

也使用了加密的处理,参考上面加密工具的使用来进行设置

前端项目部署

clone下来前端项目后,在项目的根目录下执行如下命令:

npm run build:prod # 打包的时候运行的命令

之后会在目标的targer文件夹里面生成对应的打包好的文件(后面这些文件需要上传到nginx的html目录里面)

nginx

需要部署nginx反向代理服务器,通过docker的方式或者编译安装的方式都可以,使用的过程中没有什么区别

nginx配置文件如下

server {
	listen 80;
	server_name 服务器的ip地址;

client_max_body_size 20m;

	location / {
			root /var/www/html;
			index index.html index.htm;
	}


  location /prod-api/ {
  		#root /www/vod;
  		#index index.html index.htm;
      proxy_pass http://127.0.0.1:8888/;
  }


	error_page 500 502 503 504 /50x.html;
	location = /50x.html{
			root html;
	}
}

数据库表

请将项目根目录下的SQL脚本导入到你的本地的数据库中

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors