🚀 构建我的第一个后端项目:Expense Tracker API

发布: (2026年3月8日 GMT+8 08:36)
4 分钟阅读
原文: Dev.to

Source: Dev.to

项目概述

Expense Tracker API 是一个 RESTful 后端服务,允许用户:

  • 创建和管理费用类别
  • 添加和跟踪费用
  • 按类别组织费用
  • 通过 API 端点执行 CRUD 操作

它可以作为移动应用、网页仪表盘或财务管理系统的后端引擎。

技术栈

  • Node.js – 运行时环境
  • Express.js – 用于构建 API 的 Web 框架
  • PostgreSQL – 关系型数据库
  • Sequelize ORM – 数据库建模和迁移工具
  • Docker – 容器化开发环境
  • TablePlus – 数据库管理工具

这些工具帮助展示了现代后端系统的结构和部署方式。

数据库设计

API 围绕两个主要实体构建:

Categories(类别)

类别用于将费用组织成以下分组:

  • Food(食品)
  • Transportation(交通)
  • Utilities(公共事业)
  • Entertainment(娱乐)

每个类别包含:

  • id
  • name
  • createdAt
  • updatedAt

Expenses(费用)

费用代表单条财务记录。每条费用包含:

  • id
  • title
  • amount
  • categoryId(外键)
  • createdAt
  • updatedAt

categoryId 将每条费用关联到相应的类别,确保正确的分类。

API 端点

提供标准的 REST 端点。

Categories(类别)

  • POST /categories
  • GET /categories
  • GET /categories/:id
  • PUT /categories/:id
  • DELETE /categories/:id

Expenses(费用)

  • POST /expenses
  • GET /expenses
  • GET /expenses/:id
  • PUT /expenses/:id
  • DELETE /expenses/:id

这些端点实现了对财务数据的完整 CRUD 功能。

我学到的关键点

构建此项目加深了我对多个后端概念的理解。

数据库迁移

Sequelize 迁移实现了受版本控制的模式变更,省去了手动创建表的步骤。

模型关系

通过外键将费用链接到类别,阐明了关系型数据库如何强制数据完整性。

API 架构

我将项目组织为:

  • Routes(路由)
  • Controllers(控制器)
  • Models(模型)
  • Migrations(迁移)

这种分层保持代码库整洁且易于维护。

错误处理

常见问题包括:

  • 迁移顺序错误
  • 数据库连接问题
  • 模型引用错误

调试这些问题提升了我对后端行为的把握。

使用 Docker 进行开发

Docker 标准化了开发环境,确保应用在不同系统上运行一致,通过将运行时、依赖和配置打包在一起实现。

未来改进

计划的增强功能:

  • 用户认证(JWT)——已实现
  • 按日期过滤费用
  • 大数据集的分页
  • 费用分析端点
  • 使用 Swagger 的 API 文档
0 浏览
Back to Blog

相关文章

阅读更多 »