开源一个记账软件,支持docker一键部署

🎏:你只管努力,剩下的交给时间
🏠 :小破站
开源一个记账软件,支持docker一键部署
- 项目简介
- 功能特性
- 技术栈
- 快速开始
- 环境要求
- 运行步骤
- 项目结构
- 贡献指南
- 许可证
- 联系作者
- 页面展示
- 登录界面
- 报表页
- 明细页
- 图表页
- 新增账单页
- 方案一:独立部署(已有MySQL服务)
- 方案二:完整部署(包含MySQL)
该记账网站主要为了简便而生,涵盖基础记账功能,支持docker一键部署
项目简介
简单记账 是一个基于 Spring Boot 和 Thymeleaf 开发的开源、免费的记账软件。它的目标是提供一个简单、易用的记账工具,专注于核心的记账功能,没有复杂的附加功能。你可以轻松地记录每一笔收支,并通过分类来查看和管理你的财务状况。
本项目完全开源,代码简洁易懂,适合学习和二次开发。如果你正在寻找一个轻量级的记账工具,或者想要了解如何使用 Spring Boot 和 Thymeleaf 开发一个简单的 Web 应用,那么这个项目将是一个很好的起点。
功能特性
- 分类记账:支持按类别记录收入与支出,方便用户快速分类管理财务。
- 分类展示:按类别展示收支情况,帮助用户清晰了解每一类别的花费情况。
- 账单展示:展示所有账单记录,支持按时间排序,方便用户查看历史记录。
- 简洁易用:界面简洁,操作简单,专注于核心的记账功能,没有多余的花哨功能。
技术栈
- 后端框架:Spring Boot
- 前端模板引擎:Thymeleaf
- 数据库:MySQL
- 构建工具:Maven
快速开始
环境要求
- JDK 8 或更高版本
- Maven 3.x
- Mysql8.0
运行步骤
-
克隆项目
git clone https://github.com/acowbo/ChargeUp.git cd simple-accounting
-
编译项目
mvn clean install
-
运行项目
mvn spring-boot:run
-
访问应用
打开浏览器,访问
http://localhost:17002
,即可开始使用。
项目结构
simple-accounting/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── fun/acowbo/simpleaccounting/
│ │ │ ├── fun.acowbo.simpleaccounting.config/ # 配置文件
│ │ │ ├── fun.acowbo.simpleaccounting.controller/ # 控制器层
│ │ │ ├── fun.acowbo.simpleaccounting.convert/ # 转化器
│ │ │ ├── fun.acowbo.simpleaccounting.entity/ # 实体类
│ │ │ ├── fun.acowbo.simpleaccounting.mapper/ # 数据访问层
│ │ │ ├── fun.acowbo.simpleaccounting.service/ # 服务层
│ │ │ ├── fun.acowbo.simpleaccounting.util/ # 服务层
│ │ │ ├── fun.acowbo.simpleaccounting.vo/ # VO
│ │ │ └── SimpleAccountingApplication.java # 启动类
│ │ ├── resources/
│ │ │ ├── static/ # 静态资源(CSS, JS等)
│ │ │ ├── templates/ # Thymeleaf 模板文件
│ │ │ └── application.properties # 配置文件
│ └── test/ # 测试代码
└── pom.xml # Maven 配置文件
贡献指南
我们欢迎任何形式的贡献!如果你有任何建议或想法,欢迎提交 Issue 或 Pull Request。
- Fork 项目
- 创建新分支 (
git checkout -b feature/your-feature
) - 提交更改 (
git commit -m 'Add some feature'
) - 推送分支 (
git push origin feature/your-feature
) - 提交 Pull Request
许可证
本项目采用 MIT 许可证,你可以自由地使用、修改和分发代码。
联系作者
如果你有任何问题或建议,欢迎通过以下方式联系我:
- 微信:acowbo
- 邮箱:todoitbo@gmail.com
- GitHub: acowbo
简单记账 - 让记账变得更简单!
页面展示
登录界面
报表页
明细页
图表页
新增账单页
以下是为博客优化的Docker部署内容,采用更清晰的格式和说明:
方案一:独立部署(已有MySQL服务)
docker run -d --name accounting \-p 17001:17001 \-e MYSQL_HOST=127.0.0.1 \-e MYSQL_PORT=3306 \-e DEFAULT_ADMIN_USERNAME=admin \-e DEFAULT_ADMIN_PASSWORD=123456 \-e MYSQL_DATABASE=accounting \-e MYSQL_USER=root \-e MYSQL_PASSWORD=123456 \todoitbo/simple-accounting:1.0
适用场景:已有MySQL服务,只需部署记账应用
参数说明:
MYSQL_HOST
:数据库主机地址DEFAULT_ADMIN_*
:设置管理员账号- 其他MySQL相关参数按实际环境配置
方案二:完整部署(包含MySQL)
version: '3.8'services:accounting:image: todoitbo/simple-accounting:1.0container_name: accountingports:- "17001:17001"environment:MYSQL_HOST: mysqlMYSQL_PORT: 3306DEFAULT_ADMIN_USERNAME: adminDEFAULT_ADMIN_PASSWORD: testAccount123MYSQL_DATABASE: accountingMYSQL_USER: rootMYSQL_PASSWORD: ab1234DE!depends_on:mysql:condition: service_healthynetworks:- accounting-netmysql:image: mysql:8.0container_name: accounting-mysqlenvironment:MYSQL_ROOT_PASSWORD: ab1234DE!MYSQL_DATABASE: accountingvolumes:- mysql-data:/var/lib/mysql- ./init.sql:/docker-entrypoint-initdb.d/init.sqlhealthcheck:test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]interval: 5stimeout: 5sretries: 10networks:- accounting-netnetworks:accounting-net:driver: bridgevolumes:mysql-data:
特点:
- 包含完整的MySQL服务
- 自动初始化数据库(通过init.sql)
- 健康检查确保服务依赖
- 数据持久化存储
- 使用独立网络增强安全性
部署命令:
docker-compose up -d
注意事项:
- 首次使用前建议修改默认密码
- 生产环境应配置SSL/TLS加密
- 可调整MySQL资源配置以适应不同负载
两种方案均可实现快速部署,用户可根据实际环境选择适合的方式。
github地址:https://github.com/acowbo/ChargeUp,希望各位佬给个star