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

发布于:2025-05-23 ⋅ 阅读:(20) ⋅ 点赞:(0)

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


在这里插入图片描述

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

🏠 :小破站


该记账网站主要为了简便而生,涵盖基础记账功能,支持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.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:

特点

  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


网站公告

今日签到

点亮在社区的每一天
去签到