这个项目能做什么

AWS Cost Calculator 是一款 Web 工具,旨在解决在不预先确定实例类型和节点数量的情况下,“该架构每月成本是多少?”这一问题。与要求预先提供完整架构的传统定价计算器不同,它接受粗略的服务描述(如流量水平、MVP 或生产环境等阶段、服务形态),并返回推荐的 AWS 架构及其以美元 (USD) 和韩元 (KRW) 计价的月度成本。 该工具支持两种输入模式:基于服务的流程通过描述建议架构;手动构建模式允许用户将 ECS、RDS、Redis、ALB、S3、Lambda、DynamoDB 和 CloudFront 等资源拖拽组合,自行计算该特定堆栈的价格。 项目的核心设计选择是确定性的成本引擎。每个金额都来自 `CostEngine` 组件,该组件为每种资源类型提供一个方法,并由真实的 AWS Price List Bulk API 数据驱动。区域定价通过 `PricingService` 解析,该服务读取数据库表,并在失败时回退到 classpath JSON 快照。AI 提供商仅被要求解释已经计算出的价格,绝不用于计算价格。 由 AI 支持的功能(如自然语言解释、成本优化建议和架构推荐)遵循一致的模式:尝试调用配置的提供商(Claude API、Gemini API 或开发环境中的本地 `codex` CLI),在任何失败或配置错误时回退到基于规则的实现。调用者将看到质量较低的答案而非错误。优化建议受积分限制,并包含基于规则的提示,例如采用 Graviton、缩减 RDS/Redis 规模以及调整 NAT Gateway 或 CloudFront。 计算结果以保存时的定价快照形式存储,因此保存的计算结果可以按报价时的原样查看,而不会根据今天的费率重新计算。结果可以导出为 PDF 卡片。 技术栈采用 Next.js 16 / React 19 / TypeScript / Tailwind CSS 4 前端,搭配 Spring Boot / Java 21 后端和 PostgreSQL 16。身份验证支持 Google 和 Kakao OAuth2 以及本地电子邮件和密码,使用无状态 JWT。本地部署通过 `docker compose up -d` 启动数据库,使用 `./mvnw spring-boot:run` 在 8080 端口运行 API,使用 `npm run dev` 在 3000 端口运行前端;一个 shell 脚本用于刷新 AWS 定价快照,需要 `curl` 和 `jq`。后端测试通过 Maven 运行,前端未配置测试框架,UI 变更通过 lint 和 build 进行检查。 README 坦诚地列出了局限性:保存的计算结果无法通过链接分享(仅支持 PDF 导出);在账户创建前创建的项目行没有所有者,且不会出现在任何人的历史记录中;本地电子邮件注册没有 SMTP 或 SES 集成,因此 `emailVerified` 仅由 OAuth 提供商设置;AI 优化项可能包含模型估算的节省金额,且并非所有金额都在服务端重新求和。路线图列出了带有 OG 预览的可分享计算 URL、预算输入/架构输出的反向推荐,以及第二阶段计划——通过跨账户 IAM 角色以只读方式连接真实的 AWS 账户,将相同的优化规则应用于实际支出。本项目采用 MIT 许可证。