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

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

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

🏠 :小破站

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

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

项目简介

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

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

功能特性

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

技术栈

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

快速开始

环境要求

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

运行步骤

  1. 克隆项目

    bash 复制代码
    git clone https://github.com/acowbo/ChargeUp.git
    cd simple-accounting
  2. 编译项目

    bash 复制代码
    mvn clean install
  3. 运行项目

    bash 复制代码
    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 许可证,你可以自由地使用、修改和分发代码。

联系作者

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


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

页面展示

登录界面

报表页

明细页

图表页

新增账单页

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

特点

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

部署命令

bash 复制代码
docker-compose up -d

注意事项

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

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

相关推荐
从零开始学习人工智能3 分钟前
Nginx 强制 HTTPS:提升网站安全性的关键一步
运维·nginx·https
梁下轻语的秋缘30 分钟前
OpenHarmony:开源操作系统重塑产业数字化底座
华为·开源
努力的搬砖人.1 小时前
Docker 镜像打包到本地
运维·docker·容器
Stephen·You1 小时前
(已解决:基于WSL2技术)Windows11家庭中文版(win11家庭版)如何配置和使用Docker Desktop
运维·docker·容器
塑遂1 小时前
Nginx核心功能
运维·nginx
说私域1 小时前
心联网(社群经济)视角下开源AI智能名片、链动2+1模式与S2B2C商城小程序源码的协同创新研究
人工智能·小程序·开源·零售
UFIT2 小时前
postgresql日常维护
运维·服务器
爱莉希雅&&&2 小时前
shell脚本之函数详细解释及运用
linux·运维
dal118网工任子仪2 小时前
pikachu靶场 暴力破解
运维·服务器
安审若无2 小时前
实时监控服务器CPU、内存和磁盘使用率
运维·服务器