🎏:你只管努力,剩下的交给时间
🏠 :小破站
开源一个记账软件,支持docker一键部署
该记账网站主要为了简便而生,涵盖基础记账功能,支持docker一键部署
项目简介
简单记账 是一个基于 Spring Boot 和 Thymeleaf 开发的开源、免费的记账软件。它的目标是提供一个简单、易用的记账工具,专注于核心的记账功能,没有复杂的附加功能。你可以轻松地记录每一笔收支,并通过分类来查看和管理你的财务状况。
本项目完全开源,代码简洁易懂,适合学习和二次开发。如果你正在寻找一个轻量级的记账工具,或者想要了解如何使用 Spring Boot 和 Thymeleaf 开发一个简单的 Web 应用,那么这个项目将是一个很好的起点。
功能特性
- 分类记账:支持按类别记录收入与支出,方便用户快速分类管理财务。
- 分类展示:按类别展示收支情况,帮助用户清晰了解每一类别的花费情况。
- 账单展示:展示所有账单记录,支持按时间排序,方便用户查看历史记录。
- 简洁易用:界面简洁,操作简单,专注于核心的记账功能,没有多余的花哨功能。
技术栈
- 后端框架:Spring Boot
- 前端模板引擎:Thymeleaf
- 数据库:MySQL
- 构建工具:Maven
快速开始
环境要求
- JDK 8 或更高版本
- Maven 3.x
- Mysql8.0
运行步骤
-
克隆项目
bashgit clone https://github.com/acowbo/ChargeUp.git cd simple-accounting
-
编译项目
bashmvn clean install
-
运行项目
bashmvn 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
- 邮箱:[email protected]
- GitHub: acowbo
简单记账 - 让记账变得更简单!
页面展示
登录界面

报表页

明细页


图表页

新增账单页

以下是为博客优化的Docker部署内容,采用更清晰的格式和说明:
方案一:独立部署(已有MySQL服务)
bash
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)
yaml
version: '3.8'
services:
accounting:
image: todoitbo/simple-accounting:1.0
container_name: accounting
ports:
- "17001:17001"
environment:
MYSQL_HOST: mysql
MYSQL_PORT: 3306
DEFAULT_ADMIN_USERNAME: admin
DEFAULT_ADMIN_PASSWORD: testAccount123
MYSQL_DATABASE: accounting
MYSQL_USER: root
MYSQL_PASSWORD: ab1234DE!
depends_on:
mysql:
condition: service_healthy
networks:
- accounting-net
mysql:
image: mysql:8.0
container_name: accounting-mysql
environment:
MYSQL_ROOT_PASSWORD: ab1234DE!
MYSQL_DATABASE: accounting
volumes:
- mysql-data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 5s
timeout: 5s
retries: 10
networks:
- accounting-net
networks:
accounting-net:
driver: bridge
volumes:
mysql-data:
特点:
- 包含完整的MySQL服务
- 自动初始化数据库(通过init.sql)
- 健康检查确保服务依赖
- 数据持久化存储
- 使用独立网络增强安全性
部署命令:
bash
docker-compose up -d
注意事项:
- 首次使用前建议修改默认密码
- 生产环境应配置SSL/TLS加密
- 可调整MySQL资源配置以适应不同负载
两种方案均可实现快速部署,用户可根据实际环境选择适合的方式。
github地址:https://github.com/acowbo/ChargeUp,希望各位佬给个star