Bookease
概述 #
BookEase 是一个轻量级的记账应用项目,由 PERN 技术栈(PostgreSQL、Express.js、React、Node.js)驱动。
项目亮点 #
前端 #
- 语言: 使用 TypeScript 和 TSX 编写,确保类型安全和更好的开发者体验。
- 状态管理: 使用 Zustand 进行全局状态管理。
- 数据获取: 使用 SWR(stale-while-revalidate)库实现 无限加载。
- HTTP 客户端: 自定义 Axios 实例,实现与后端的无缝交互。
- 数据可视化: 使用 Echarts 创建交互式和美观的统计可视化图表。
- 性能优化: 实现了 懒加载 和 代码拆分 以提高性能并减少初始加载时间。
后端 #
- 框架: 使用 Express.js 构建强大且灵活的 HTTP 服务器框架。
- 语言: 使用 TypeScript 开发 RESTful API。
- 身份验证: 使用 JWT 进行用户身份验证,并编写自动鉴权 中间件。
- 邮件通信: 集成 Nodemailer,在用户注册和登录时发送邮件,增强用户通信和安全性。
数据管理 #
- 数据库: 数据存储在 PostgreSQL 数据库中,通过 Prisma 管理,简化了数据库交互和迁移。
部署 #
- CI/CD: 配置 Github Action ,利用 Docker 实现自动容器化部署。
- Web 服务器: 项目最终由 Nginx 呈现,处理静态文件服务和后端 API 的反向代理。