文章目录
- 简账(开源记账软件)-后端环境简介及部署
- 前言
- 一、后端主要技术栈简介
-
-
-
- 具体涉及的技术如下所示:
- Q&A
-
-
- 二、环境部署
-
-
- 1. 安装JDK11
- 2. 从Github上下载压缩包后解压即可
- 3. 安装docker
- 4. 使用docker-compose创建容器
- 4. 运行程序
- 5. 查看在线文档
-
- 三、总结
- 四、致谢
简账(开源记账软件)-后端环境简介及部署
前言
由于自己有记账的需求,在尝试使用过市面上的记账软件后,发现大多数都有以下几个问题
- 广告比较多,主要分为信息流广告及金融类广告
- 页面太痈肿,使用体验不好
- 部分高级功能需要收费,如数据导出
所以就萌生了自己做一个记账软件的想法,这个想法在2020年5月左右落地的,到目前也快有一年了。
本着OpenSource的想法,已全部开源,也想借写博客的机会获得一些Star?
测试环境
- PC端:简账PC端
正式环境:
- 小程序:微信搜索【简账】
- PC端:简账PC端
Github开源地址:
- Java后端:简账后端
- PC端:简账PC端
- 小程序:简账uniapp
后续要完成的功能(重要性至上而下)
- 支持多账本,可自定义维护
- 支持设置预算(年月预算)
- 支持多账本间冲销
- 支持Excel导出(年或月可自定义)
- 支持多人记账及家庭账本
待解决的Bug
- 如用户未登录过小程序,小程序扫码授权会提示Token不能为空(提供者:喵了个小咪咪)
写在后面
如果你有其他的想法或问题欢迎给我留言,或在Github上提Pr&Issue
tips:如果你也想你写的东西被人使用,欢迎跟我一起维护简账~
往期链接
- 简账主要功能介绍
一、后端主要技术栈简介
从大体上来看,整个后端为单体的SpringBoot+Redis+Mysql
具体涉及的技术如下所示:
- JDK:openJDK 11
- SpringBoot:2.3.x
- SpringSecurity:5.3.x
- MySQL:8.0
- JJWT:0.7.0
- mybatisPlus:3.3.x
- knife4j(在线文档):knife4j
- redis:5.0.x
Q&A
- 为什么使用openJDK11/li>
openJDK11是开源免费的LTS版本,相较于8有许多新特性
- 整个项目为什么要基于SpringBoot/li>
SpringBoot框架简单易用
- 为什么使用SpringSecurity+JWT/li>
引入SpringSecurity+JWT目的是为了做无状态基于Token的签发和鉴权
- 为何要有引入Redis/li>
为了实现扫码授权登录,进而引入了Redis。因授权需要的uuid是一个有效期内有效的数据,本身不需要存入数据,而存入Redis的话编码相对简单,性能也很好
后续也会将一些用户不经常改变的数据存入Redis
二、环境部署
此处以开发环境采用docker来构建项目为例
tips:如果为正式环境,则安装相应的mysql和redis即可
1. 安装JDK11
- 去openJDK官 下载11 GA版本即可
- 配置环境变量
2. 从Github上下载压缩包后解压即可
创建容器
可以看到当前目录下面有一个docker-compose.yml,它主要就是做容器编排的。
定义了容器名、容器挂载目录、配置文件路径等
执行命令(拉取镜像并创建容器):docker-compose up – d
tips:由于mysql容器初始化时指定了sql文件,所以容器一创建数据库也都创建好了,是不是很方便~
4. 运行程序
启动 SpringbootSimpleRecordApplication 启动类即可,控制台输出如下所示:
三、总结
后续博客内容:
- 环境搭建-前端
- 数据库设计
- SpringBoot集成SpringSecurity+JWT及动态路由生成
- 小程序扫码登陆实现
- 记账及月账单实现
- 图表分析实现
- …
简账开发者:
- SloppyJack
- SmallishJoker
四、致谢
在写了第一篇简账的博客后,大概有四十多个用户注册了简账。在此感谢注册了简账的各位,谢谢??
如果你觉我这个项目还不错的话,不妨给我的Github点个Star?

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91758 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!