简账(开源记账软件)

文章正文
发布时间:2023-04-28 23:56

由于自己有记账的需求,在尝试使用过市面上的记账软件后,发现大多数都有以下几个问题

广告比较多,主要分为信息流广告及金融类广告

页面太痈肿,使用体验不好

部分高级功能需要收费,如数据导出

所以就萌生了自己做一个记账软件的想法,这个想法在2020年5月左右落地的,到目前也快有一年了。 本着OpenSource的想法,已全部开源,也想借写博客的机会获得一些Star❤

正式环境体验:

Github开源地址:

后续要完成的功能(重要性至上而下)

支持多账本,可自定义维护

支持设置预算(年月预算)

支持多账本间冲销

支持Excel导出(年或月可自定义)

支持多人记账及家庭账本

写在后面
如果你有其他的想法或问题欢迎给我留言,或在Github上提Pr&Issue
tips:如果你也想你写的东西被人使用,欢迎跟我一起维护简账~

一、主要技术栈简介

后端:SpringBoot、SpringSecurity、JWT、MybatisPlus、Redis

PC端:Vue 2.6、Vue Router、Vuex、axios、AntDesign Vue 3.0

小程序:Uniapp、UView

二、主要功能

用户登陆 如果为小程序用户,微信授权即可登陆 如果为PC端用户,微信扫码授权即可登陆

在这里插入图片描述

账户设置

在这里插入图片描述

用户管理

在这里插入图片描述

角色管理

在这里插入图片描述

权限管理

在这里插入图片描述

记账(收入支出)

在这里插入图片描述

月账单

在这里插入图片描述

图表分析

在这里插入图片描述

三、项目难点

我是一个工作两年的Java后端🐶,PC端及小程序部分代码写的不是很好,仅以功能实现为主。
如果您看了源码,发现有写的不好的地方,可以提交PR :)

在我实践的过程中,我认为比较难的地方有以下几个**(由于篇幅,此处仅介绍思路)**

权限控制+前端动态路由

后端主要分为两个部分

授权:后端校验过账号密码后,利用JWT生成token(useId+权限字符集)后传给前端

鉴权:前端请求时带上token,经过过滤器Filter时,解析token中的内容,判断是否有对应的权限,如有则放行

前端:利用token获取到当前的菜单列表,递归生成Routes 简账中实现:动态菜单实现

微信扫码小程序授权登陆

这里的授权是指微信扫码后会跳转至小程序内,小程序内部发起授权

主要分为两个部分,我画了一个简易的图

ubuntu的画图软件怎么没有画箭头的工具阿~ tnt

在这里插入图片描述

需要注意的时PC端轮询时会获取到三种状态

已扫描

已过期

已授权

需要根据这三种状态需做不同的展示

四、总结

后续博客内容:

环境搭建

数据库设计

SpringBoot集成SpringSecurity+JWT及动态路由生成

小程序扫码登陆实现

记账及月账单实现

首页
评论
分享
Top