电商网站

一个简单的三层电商应用,包含React前端、Node.js后端、SQLite数据库和AI驱动的聊天机器人助手。

  • by berrasari
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 berrasari/aws-mcp-kiro-workshop

使用说明

电子商务网站

一个简单的三层电子商务应用程序,具有React前端、Node.js后端、SQLite数据库和AI驱动的聊天机器人助手。

特性

  • 首页:浏览20个带有表情符号图标的示例产品
  • 产品页面:查看详细信息、评论并将商品添加到购物车
  • 购物车:管理数量、删除项目并查看总成本
  • 人工智能聊天机器人:由AWS Bedrock Nova Pro提供支持的对话助手
    • 询问有关产品的问题
    • 搜索库存
    • 通过对话将商品添加到购物车
    • 获得个性化购物帮助

建筑

  • 前端:React+Vite(端口3000)
  • 后端:Node.js+Express(端口3001)
  • 聊天机器人服务:Python+Flask+Strands代理(端口5000)
  • 数据库:带better平方的SQLite 3
  • AI模型:AWS Bedrock Nova Pro

设置和运行

1.后端

cd backend
npm install
npm start

后端API将在上运行http://localhost:3001

2.聊天机器人服务(可选但推荐)

先决条件:

  • Python 3.8+
  • 具有基岩访问权限的AWS帐户
  • 具有Bedrock权限的AWS凭据

设置:

cd chatbot

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Configure environment variables
cp .env.example .env
# Edit .env and add your AWS credentials

所需的环境变量:

AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-west-2
BACKEND_API_URL=http://localhost:3001

运行:

python server.py

聊天机器人服务将在http://localhost:5000

📖 看 聊天机器人/README.md 有关详细的设置说明、AWS配置和故障排除。

3.前端

cd frontend
npm install
npm run dev

访问http://localhost:3000使用该应用程序。

注: 该应用程序可以在没有聊天机器人服务的情况下工作,但您将没有人工智能助手功能。

API终点

后端API(端口3001)

  • GET /api/products -列出所有产品
  • GET /api/products/:id -通过评论获取产品详细信息
  • GET /api/cart -获取购物车商品
  • POST /api/cart -将商品添加到购物车
  • PUT /api/cart/:id -更新项目数量
  • DELETE /api/cart/:id -从购物车中删除商品

查伯特API(5000港)

  • POST /chat -向聊天机器人发送消息
  • GET /health -健康检查

使用AI聊天机器人

  1. 点击聊天按钮(💬) 在右下角
  2. 问以下问题:
    • “你们有什么产品?”
    • “显示笔记本电脑”
    • “无线鼠标的价格是多少?”
    • “将无线鼠标添加到我的购物车”
    • “我的车里有什么?”

聊天机器人使用AWS Bedrock Nova Pro来了解您的问题并帮助您购物。

项目结构

.
├── backend/           # Express.js API server
├── frontend/          # React application
├── chatbot/          # Python chatbot service
│   ├── tools/        # Backend integration tools
│   ├── agent.py      # Strands Agent configuration
│   ├── server.py     # Flask HTTP server
│   └── README.md     # Detailed chatbot documentation
└── database/         # SQL schema reference