
CodeBuddy的上线,也是进行了一些尝试,包括其他工具中使用到的一些功能,进行测试开发了一个内部抽奖工具。
该工具需要解决的是组织内部的人员,我需要给用户们做一个宣传的抽奖,但内容进行了跨平台无法直接使用平台内部抽奖机器人,且无法统计各平台人数,遂尝试使用CodeBuddy来构建一个小工具解决问题。
首先对项目进行一个初步构想,使用CodeBuddy来编写了初步的项目介绍。
- 报名提交:姓名、手机号、平台、链接/截图地址
- 管理后台API:列表、抽奖、导出CSV、查看中奖名单
- 简易防刷:同一手机号或IP在可配置时间窗内限制提交次数
- 配置通过 `.env` 管理,敏感变量仅在服务端读取以及使用到的技术栈。
## 后端
- Python 3.11+
- FastAPI + Uvicorn(异步 API 与 ASGI 服务器)
- SQLAlchemy + PyMySQL(ORM 与 MySQL/MariaDB 驱动)
- Pydantic / pydantic-settings(数据校验与配置管理)
- python-dotenv(本地加载环境变量)
## 前端
- 静态 HTML / CSS / 原生 JavaScript
- Fetch API(与后端接口交互)
## 配套工具
- Logging(标准库日志记录)
- CSV 工具(导出报名数据)
- `.env` 配置与 `requirements.txt` 依赖清单完成了前期的设计。开始根据使用CodeBuddy编写项目,用到了下面的语段来进行build。
"使用Python FastAPI开发一个抽奖活动系统,包含以下功能模块:
1. 报名功能:
- 前端表单收集:姓名、联系方式、来源平台(微博/小红书/抖音等)、推文链接或截图地址
- 后端API接口:接收并存储报名数据
2. 管理后台:
- 查看所有报名者列表
- 随机抽取指定数量的中奖者
- 导出报名数据为CSV文件
3. API接口设计:
- 提交报名信息
- 获取报名列表
- 执行抽奖操作
- 获取中奖名单
4. 安全防护:
- 实现简易防刷机制:同一手机号或IP地址10分钟内只能提交1次(时间可配置)
- 数据库凭证通过.env文件管理,避免明文暴露
- 确保敏感配置只在服务端读取
5. 数据库配置:
- 使用MySQL数据库
- 连接参数包括主机、端口、用户名和密码
- 通过环境变量配置数据库连接信息
请使用FastAPI框架实现上述功能,确保代码结构清晰,包含必要的错误处理和日志记录。"等待CodeBuddy智能体迭代执行完成后,检查其输出的项目总结是否一致。


检查完进行尝试运行,发现智能体并没有实现数据库的创建和配置更改,于是我发送了下面的语句要求它完善。


CodeBddy告诉我,已经完成了数据表的创建代码,现在我们来尝试运行。
python -m pip install -r requirements.txt执行专用命令运行程序。
uvicorn app.main:app --host 0.0.0.0 --port 8000
打开网页成功运行。

随后我们需要将项目部署到Lighthouse中,方便在公网运行。
CodeBuddy有对应的活动免费领取Lighthouse服务器。

个人习惯使用1panel面板工具,腾讯云很方便的提供了直接镜像安装。

安装好后我将项目打包上传到服务器中。

随后,使用了前面提到的安装环境命令,以及运行命令,成功在服务器中将项目运行起来。



总结
在代码编写以及智能体自动化执行方面,CodeBuddy的流畅性以及合理性已经不逊于Cursor claude cli等这些主流的编辑器了。对系统的兼容性以及环境的理解也有不错的能力,保证项目正常运行测试。还有方面及AI智能体的遵旨和纠错方面,当我提出对数据库存在疑问时,也能及时进行修改并正常运行。
项目总体
# 抽奖活动系统 (FastAPI + MySQL)
## 功能概述
- 报名提交:姓名、手机号、平台、链接/截图地址
- 管理后台API:列表、抽奖、导出CSV、查看中奖名单
- 简易防刷:同一手机号或IP在可配置时间窗内限制提交次数
- 配置通过 `.env` 管理,敏感变量仅在服务端读取
## 运行步骤
1. 准备 MySQL 数据库(建议 UTF8MB4):
- 创建数据库:`CREATE DATABASE lottery_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`
2. 复制 `.env.example` 为 `.env` 并填入实际值。
3. 安装依赖:
```bash
pip install -r requirements.txt
```
4. 启动服务:
```bash
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```
- 用户报名页:http://localhost:8000/index.html
- 管理后台页:http://localhost:8000/admin.html
- 管理接口需在请求头携带 `x-admin-token`
## API 设计
- POST `/api/participants` 提交报名
- GET `/api/participants` 报名列表
- POST `/api/admin/raffle` 执行抽奖(需 `x-admin-token`)
- GET `/api/admin/winners` 中奖名单(需 `x-admin-token`)
- GET `/api/admin/participants/export` 导出报名CSV(需 `x-admin-token`)
## 安全与防护
- 环境变量见 `.env.example`;生产中请确保 `.env` 不被提交或暴露
- 简易防刷使用内存存储,如需分布式部署,建议替换为 Redis
## 前端对接
- 可直接用任意前端表单 POST 至 `/api/participants`
- 管理端可用任意 HTTP 客户端携带 `x-admin-token` 访问#CodeBuddy 1024
个人介绍:
本人为数据科学与大数据技术专业,从CHATGPT初热时及使用AI,一直到各自AIIDE的出现也有一直在测试,自己也在写一些小项目,解决实际问题,大致使用了codebuddy 2-3天,后续也需要作为主力。
#CodeBuddy
#CodeBuddyIDE
#CodeBuddyCode
#无界生成力
(#CodeBuddy 1024)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。