简账(开源记账软件)-后端环境简介及部署
文章目录
- 简账(开源记账软件)-后端环境简介及部署
- 前言
- 一、后端主要技术栈简介
- 具体涉及的技术如下所示:
- 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?
openJDK11是开源免费的LTS版本,相较于8有许多新特性
- 整个项目为什么要基于SpringBoot?
SpringBoot框架简单易用
- 为什么使用SpringSecurity+JWT?
引入SpringSecurity+JWT目的是为了做无状态基于Token的签发和鉴权
- 为何要有引入Redis?
为了实现扫码授权登录,进而引入了Redis。因授权需要的uuid是一个有效期内有效的数据,本身不需要存入数据,而存入Redis的话编码相对简单,性能也很好
后续也会将一些用户不经常改变的数据存入Redis
二、环境部署
此处以开发环境采用docker来构建项目为例
tips:如果为正式环境,则安装相应的mysql和redis即可
1. 安装JDK11
- 去openJDK官网下载11 GA版本即可
- 配置环境变量
2. 从Github上下载压缩包后解压即可
3. 安装docker
如果为win10,则必须要是支持HyperV的版本
如果你无法安装docker的话,可以直接安装mysql8和redis5,本质上是一样的,只是提供了一个运行环境,跳过3、4两个步骤即可
- windows10(必须要支持wsl):docker官网
- linux:相对于windows安装会简单很多,不需要开启虚拟化等…
4. 使用docker-compose创建容器
此处以wsl为例子,linux系统操作逻辑基本一致
进入项目的env文件夹
创建容器
可以看到当前目录下面有一个docker-compose.yml,它主要就是做容器编排的。
定义了容器名、容器挂载目录、配置文件路径等
执行命令(拉取镜像并创建容器):docker-compose up - d
- 查看容器是否正常运行
执行 docker ps,查看是否有redis和mysql两个容器在运行
tips:由于mysql容器初始化时指定了sql文件,所以容器一创建数据库也都创建好了,是不是很方便~
4. 运行程序
启动 SpringbootSimpleRecordApplication 启动类即可,控制台输出如下所示:
5. 查看在线文档
浏览器输入:http://localhost:5000/api/doc.html
就可以看到在线文档了
三、总结
后续博客内容:
- 环境搭建-前端
- 数据库设计
- SpringBoot集成SpringSecurity+JWT及动态路由生成
- 小程序扫码登陆实现
- 记账及月账单实现
- 图表分析实现
- …
简账开发者:
- SloppyJack
- SmallishJoker
四、致谢
在写了第一篇简账的博客后,大概有四十多个用户注册了简账。在此感谢注册了简账的各位,谢谢
简账(开源记账软件)-后端环境简介及部署相关推荐
- 简账(开源记账软件)-前端环境简介及部署
文章目录 简账(开源记账软件)-前端环境简介及部署 前言 一.前端主要技术栈简介 具体涉及的技术如下所示: Q&A 二.环境部署 1. 安装nodejs 2. 从Github上下载代码 3. ...
- 简账(开源记账软件)-功能介绍
文章目录 简账(开源记账软件)-功能介绍 前言 一.主要技术栈简介 二.主要功能 三.项目难点 四.总结 简账(开源记账软件)-功能介绍 前言 由于自己有记账的需求,在尝试使用过市面上的记账软件后,发 ...
- 开源资产管理系统java_开源资产管理软件 GLPI 9.3.1 部署
环境需求 系统:CentOS 7 IP:192.168.11.207 关闭selinux和防火墙 [root@test4-8g ~]# systemctl stop firewalld [root@t ...
- 中国记账软件行业现状规模与应用前景预测报告(2022-2027)
中国记账软件行业现状规模与应用前景预测报告(2022-2027) ****中****智****正****业****研****究*****院**** <报告编号>: BG420179 &l ...
- 个人记账软件 共享及有条件开源
哎,看到这个就感叹我一天天的钱都花哪了,咋就剩不下钱呢. 2015年刚开始,老婆就说要记账,这一天天的不知道钱都花哪去了, 好吧.我就加班加点,通过2个星期终于搞了一套出来,虽不近完善,但基本能用了. ...
- python开发erp系统odoo_开源erp软件odoo在线开发环境部署实录
1.前言 pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于 ...
- 开源erp软件odoo在线开发环境部署实录
1.前言 pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于 ...
- Soft:软件开发的简介(敏捷开发等6大软件开发模式)、软件测试的简介(单元测试/集成测试/系统测试/验收测试/回归测试、黑白灰功能测试、DEV等四套环境)、运维的简介之详细攻略
Soft:软件开发的简介(敏捷开发等6大软件开发模式).软件测试的简介(单元测试/集成测试/系统测试/验收测试/回归测试.黑白灰功能测试.DEV等四套环境).运维的简介之详细攻略 目录 1.软件开发( ...
- 开源路由软件zebra介绍和和在Linux环境下的安装
感谢:http://www.cnblogs.com/iTsihang/archive/2012/11/22/2783249.html ================================= ...
- PyQt6开发一个“手记”个人记账软件
前言: 可根据特定需求写PyQt+后端的程序,这个demo框架个人认为无论是初学还是老手,可以当做PyQt的架子使用,笔者在工作中积累了PyQt经验,由这个小项目搭建了一把,很过瘾. 目前开源的PyQ ...
最新文章
- Kernel PCI总线框架
- 初学 Delphi 嵌入汇编[9] - asm 可以代替 begin
- C语言实例第4期:交换数组中最大数和最小数的位置
- 海南首例供港造血干细胞志愿者启程赴广东捐献
- C# JsonHelper
- FPGA内部硬件结构简介
- kubernetes视频教程笔记 (7)-安装Harbor私有仓库
- 冒险岛手游服务器维护界面,冒险岛手游游戏界面全解 丰富轻松画风
- 【Selenium IDE】下载安装Chrome和Firefox插件IDE
- UNI-APP前后端实战课《悦读》
- 超声波清洗机对人体有辐射,有伤害吗?
- Word 宏命令大全
- 千寻位置平台使用入门总结
- 针对源代码保密源代码安全管理产品选型建议
- 计算机连网线怎么联网,电脑直接插网线上网
- Linux下的cmt2300a驱动
- 《惢客创业日记》2018.11.02(周五) “追梦大叔”的回忆
- xutil post 414. onError: errorCode: 414, msg: Request-URI Too Long
- Sound Forge2020音频编辑软件直装汉化直装免费版
- <Android开发> Android vold - 第二篇 vold 的main()函数简介
热门文章