Sin descripción

wuyi 344dafb82f 增强任务执行器的账号管理逻辑,添加账号租约机制以避免并发 worker 复用同一 tgUser,优化账号获取和释放流程,提升代码可读性和可维护性。 hace 6 días
.vscode 2db384c16b init hace 7 meses
src 344dafb82f 增强任务执行器的账号管理逻辑,添加账号租约机制以避免并发 worker 复用同一 tgUser,优化账号获取和释放流程,提升代码可读性和可维护性。 hace 6 días
.env d3a467081b TelegramClient 发送消息 hace 2 meses
.env.production d3a467081b TelegramClient 发送消息 hace 2 meses
.gitignore 2db384c16b init hace 7 meses
.prettierrc.json 2db384c16b init hace 7 meses
README.md 2db384c16b init hace 7 meses
deploy.sh 0fa79739dd deploy hace 3 meses
package-lock.json bc5cbc38f1 新增 Telegram Bot 支持,更新环境变量配置,添加系统配置控制器及相关服务,优化鱼类服务以发送通知,确保系统配置管理功能完整。 hace 3 meses
package.json aa09b93b75 添加 libphonenumber-js 库以支持电话号码解析,更新 TgUser 实体和服务以包含区号和号码字段,同时重构 TgUser 控制器以处理导入的用户数据,增强代码一致性和可维护性。 hace 3 semanas
tsconfig.json ee635b6f99 更新package.json中的项目名称,调整启动脚本和开发脚本,修改tsconfig.json中的模块解析方式,优化app.ts中的导入路径。 hace 6 meses
yarn.lock aa09b93b75 添加 libphonenumber-js 库以支持电话号码解析,更新 TgUser 实体和服务以包含区号和号码字段,同时重构 TgUser 控制器以处理导入的用户数据,增强代码一致性和可维护性。 hace 3 semanas

README.md

Robin API

一个基于 Fastify 和 TypeORM 的个人记账 API。

功能特性

  • 用户认证(注册/登录)
  • JWT 认证
  • 钱包管理
  • 收支记录管理
  • Swagger API 文档

技术栈

  • Fastify
  • TypeORM
  • MySQL
  • TypeScript
  • JWT

开始使用

环境要求

  • Node.js >= 16
  • MySQL >= 8.0
  • Yarn

安装

  1. 克隆项目

    git clone https://github.com/yourusername/robin-api.git
    cd robin-api
    
  2. 安装依赖

    yarn install
    
  3. 配置环境变量

复制 .env.example 文件为 .env,并根据你的环境修改配置:

cp .env.example .env
  1. 创建数据库

    CREATE DATABASE robin_db;
    
  2. 运行开发服务器

    yarn dev
    

API 文档

启动服务器后,访问 http://localhost:3000/documentation 查看 Swagger API 文档。

API 端点

用户

  • POST /api/users/register - 用户注册
  • POST /api/users/login - 用户登录

钱包

  • POST /api/wallets - 创建钱包
  • GET /api/wallets - 获取所有钱包
  • GET /api/wallets/:id - 获取单个钱包
  • PUT /api/wallets/:id - 更新钱包
  • DELETE /api/wallets/:id - 删除钱包

记录

  • POST /api/records - 创建记录
  • GET /api/records - 获取所有记录
  • GET /api/records/:id - 获取单个记录
  • PUT /api/records/:id - 更新记录
  • DELETE /api/records/:id - 删除记录

许可证

MIT