当前位置: 首页 > 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

相关文章:

  • 详解ip地址、子网掩码、网关、广播地址
  • ArcObjects学习教程
  • CouchDB 可观测最佳实践
  • Centos上搭建 OpenResty
  • 什么是 AI 人工智能?什么是机器学习?什么是深度学习?三者啥关系
  • 企业级 Go 多版本环境部署指南-Ubuntu CentOS Rocky全兼容实践20250520
  • 利用朴素贝叶斯对UCI 的 mushroom 数据集进行分类
  • CentOS 7上部署BIND9 DNS服务器指南
  • RustDesk CentOS自建中继节点
  • CentOS 7上搭建高可用BIND9集群指南
  • 将 /dev/vdb1 的空间全部合并到 /dev/mapper/centos-root(即扩展 CentOS 的根分区)
  • MyBatis 动态 SQL 标签详解教程:_set_、_trim_、_sql_、_choose_、_when_
  • 数据库外键
  • 测试W5500的第3步_使用ioLibrary库创建TCPServer
  • Flink并行数据源:ClickSource实现详解
  • RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头)
  • 边缘智能与量子计算双轮驱动:IVX 开启实时 AI 开发新维度
  • Runtipi - 开源个人家庭服务器管理工具
  • 通义灵码助力JavaScript开发:快速获取API与智能编码技巧
  • 【信息系统项目管理师】第12章:项目质量管理 - 26个经典题目及详解
  • 新型基因编辑工具可精准嵌入完整基因
  • 上海将完善隔代照料支持措施:建设老幼共享设施、提高科学育儿指导力度
  • 63岁微波遥感领域著名专家李春升参加学术会议期间病逝
  • 抖音开展“AI起号”专项治理,整治利用AI生成低俗猎奇视频等
  • 1至4月国家铁路发送货物12.99亿吨,同比增长3.6%
  • 国家统计局:4月社会消费品零售总额同比增长5.1%