当前位置: 首页 > news >正文

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

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

🎏:你只管努力,剩下的交给时间

🏠 :小破站

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

    • 项目简介
    • 功能特性
    • 技术栈
    • 快速开始
      • 环境要求
      • 运行步骤
    • 项目结构
    • 贡献指南
    • 许可证
    • 联系作者
    • 页面展示
      • 登录界面
      • 报表页
      • 明细页
      • 图表页
      • 新增账单页
    • 方案一:独立部署(已有MySQL服务)
    • 方案二:完整部署(包含MySQL)

该记账网站主要为了简便而生,涵盖基础记账功能,支持docker一键部署

项目简介

简单记账 是一个基于 Spring Boot 和 Thymeleaf 开发的开源、免费的记账软件。它的目标是提供一个简单、易用的记账工具,专注于核心的记账功能,没有复杂的附加功能。你可以轻松地记录每一笔收支,并通过分类来查看和管理你的财务状况。

本项目完全开源,代码简洁易懂,适合学习和二次开发。如果你正在寻找一个轻量级的记账工具,或者想要了解如何使用 Spring Boot 和 Thymeleaf 开发一个简单的 Web 应用,那么这个项目将是一个很好的起点。

功能特性

  • 分类记账:支持按类别记录收入与支出,方便用户快速分类管理财务。
  • 分类展示:按类别展示收支情况,帮助用户清晰了解每一类别的花费情况。
  • 账单展示:展示所有账单记录,支持按时间排序,方便用户查看历史记录。
  • 简洁易用:界面简洁,操作简单,专注于核心的记账功能,没有多余的花哨功能。

技术栈

  • 后端框架:Spring Boot
  • 前端模板引擎:Thymeleaf
  • 数据库:MySQL
  • 构建工具:Maven

快速开始

环境要求

  • JDK 8 或更高版本
  • Maven 3.x
  • Mysql8.0

运行步骤

  1. 克隆项目

    git clone https://github.com/acowbo/ChargeUp.git
    cd simple-accounting
    
  2. 编译项目

    mvn clean install
    
  3. 运行项目

    mvn spring-boot:run
    
  4. 访问应用

    打开浏览器,访问 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。

  1. Fork 项目
  2. 创建新分支 (git checkout -b feature/your-feature)
  3. 提交更改 (git commit -m 'Add some feature')
  4. 推送分支 (git push origin feature/your-feature)
  5. 提交 Pull Request

许可证

本项目采用 MIT 许可证,你可以自由地使用、修改和分发代码。

联系作者

如果你有任何问题或建议,欢迎通过以下方式联系我:

  • 微信:acowbo
  • 邮箱:todoitbo@gmail.com
  • GitHub: acowbo

简单记账 - 让记账变得更简单!

页面展示

登录界面

image-20250326114427632

报表页

image-20250326114454418

明细页

image-20250326114537910

image-20250326114617788

图表页

image-20250326114636560

新增账单页

image-20250326114659007

以下是为博客优化的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:

特点

  1. 包含完整的MySQL服务
  2. 自动初始化数据库(通过init.sql)
  3. 健康检查确保服务依赖
  4. 数据持久化存储
  5. 使用独立网络增强安全性

部署命令

docker-compose up -d

注意事项

  1. 首次使用前建议修改默认密码
  2. 生产环境应配置SSL/TLS加密
  3. 可调整MySQL资源配置以适应不同负载

两种方案均可实现快速部署,用户可根据实际环境选择适合的方式。
github地址:https://github.com/acowbo/ChargeUp,希望各位佬给个star

http://www.xdnf.cn/news/543043.html

相关文章:

  • APPtrace 智能参数系统:重构 App 用户增长与运营逻辑
  • C++中String类
  • 《经济日报》深度聚焦|珈和科技携手万果博览荟共筑智慧农业新示范高地 全链赋能蒲江茶果产业数字化转型升级
  • 榕壹云上门家政系统:基于Spring Boot+MySQL+UniApp的全能解决方案
  • 深度剖析ZooKeeper
  • 基于大模型与人工智能体的机械臂对话式交互系统RobotAgent
  • 阿里云CDN刷新预热--刷新URL
  • 【AI 大模型】盘古大模型简介 ( 创建空间 | 体验模型 | 部署模型 )
  • 【华为OD-B卷-打印文件 100分(python、java、c++、js、c)】
  • 面试算法刷题3(核心+acm)
  • LVS原理详解及LVS负载均衡工作模式
  • Java的线程池相关的几个问题
  • Python 训练营打卡 Day 20-奇异值SVD分解
  • STM32F103_LL库+寄存器学习笔记12.2 - 串口DMA高效收发实战2:进一步提高串口接收的效率
  • Java实现基于bitmap的字符串去重统计
  • 鸿蒙路由参数传递
  • sqlite
  • Django快速入门篇
  • 基于 ESP32 与 AWS 全托管服务的 IoT 架构:MQTT + WebSocket 实现设备-云-APP 高效互联
  • 2025年渗透测试面试题总结-华顺信安[实习]安全服务工程师(题目+回答)
  • sqlite的拼接字段的方法(sqlite没有convert函数)
  • STL中list的模拟
  • React 第四十三节 Router中 useBlocker 的使用详解及案例注意事项
  • 深入解析Spring Boot与Kafka的集成实践
  • kafka入门(二)
  • [创业之路-369]:企业战略管理案例分析-9-战略制定-差距分析的案例之华为
  • 「华为」持续加码人形机器人赛道!
  • 动态规划之爬楼梯模型
  • 如何将内网的IP地址映射到外网?常见方法及详细步骤
  • 头歌实践平台:动态NAT配置