2024年干的活,2025年来说说。
写在前面
大家好,我是后端开发程序员蜗趣君,我的微信小程序——蜗趣记账已发布。写下这篇文章,主要是聊聊我在2024年做了哪些事情,你可以根据我的思路完成一个完整的记账软件,同时也可以根据我的接口自行实现一套记账软件,接口长期维护。
业务设计
- 支持一个用户维护多个账本
- 支持常见的记账分类
- 支持用户邀请他人共同记账
- 支持对记账数据分类统计
- 支持智能记账
- 支持三方系统对接接入
- 支持三方小程序对接开发
架构
- 技术架构图
服务端
用于提供后端支持,对所有业务逻辑及存储进行支持。
-
技术栈:
springboot + mybatis + mysql + redis -
包结构:
- controller:接口层,RestController入口;
- validator:接口校验层,做数据校验,也可以通过注解校验;
- service:服务层,控制事务管理;
- dao:缓存层,使用spring-cache通过注解方式管理缓存;
- mapper:数据持久化层,使用mybatis操作数据库,也可使用mybatis-plus更加灵活;
- interceptor:拦截器,身份校验、日志记录;
- filter:过滤器,防止XSS过滤、跨域设置、统一编码防止乱码;
- push:推送服务,使用LinkedBlockingDeque实现,支持异步操作,也可使用MQ实现。
-
主要表结构:
-- user表,用户
userId 用户ID,全局唯一
openid 小程序的唯一标识
nickName 昵称
gender 性别
avatarUrl 头像
-- account表,账本
accountId 账本ID
accountName 账本名称
userId 用户ID
-- bill表,账单
billId 账单ID
accountId 账本ID
amount 金额
icon 图标
type 类型(收入/支出)
usedTime 使用时间
userId 用户ID
-- 基础表
-- 图标表,维护图标的基础信息
-- 业务表
-- 消息表,维护消息内容
-- 图片表,维护图片消息
-- 用户邀请表,维护用户邀请其他用户的记录
-- 关联表
-- 一个用户有多个账本,一个账本对应多个用户,需要设置用户账本关系表,多对多。
-- 一个用户有多个消息,一个消息对应多个用户,需要设置用户消息关系表,多对多。
-- 一个用户有多条邀请,需要设置用户邀请记录表,一对多。
-- 一个账本有多个账单,需要设置账本账单关系表,一对多。
-- 一个账单有多个图片,需要设置账单图片关系表,一对多。
-- 扩展部分
-- 用户积分表
-- 用户操作日志表
-- 系统参数表
- FOS文件系统:自行开发的文件管理系统,通过license的配置提供后端服务文件操作的能力,也可通过阿里云OSS等第三方文件系统实现。
小程序
当前已对接微信小程序。
- 技术栈:
Vue3 + Vite + Uni-App + ts + UnoCss + Wot-Design-UI - 界面预览:
运营端
对系统中的基础数据进行维护,如文件、标签等;对业务数据运营维护,如消息群发、黑/白名单配置、全局参数设置等。目前主要是本人自行维护使用,不提供公开的访问链接。
- 技术栈:基于开源项目
V3-Admin-Vite进行开发。 - 界面预览:
官网
HTML页面,简单介绍蜗趣记账,后期开放接口文档和SDK下载。
- 访问地址:蜗趣记账唯一官网地址
三方接入
提供两种方式接入:
- 小程序登录:需要自行开发前端小程序,根据接口进行开发。
- 三方登录:适合第三方系统对接接入,调用蜗趣记账提供的能力。
写在后面
回过头会发现,其实干了不少事,也花了很多时间把系统逻辑一点点完善起来,以后有新的东西会持续分享。对了,三方接入的许可证可以通过小程序直接与我联系获取。希望大家玩的开心,能给出意见就更好了,遇见你真是太好啦!