冲刺记录3
第3周冲刺记录
数据库建表脚本、开发框架
100% 完成
一、冲刺目标
本周的任务是将上周的数据库概念模型转化为具体的数据库表结构,并搭建完整的开发环境。数据库设计需要遵循数据库范式,确保数据的一致性和完整性。开发环境搭建包括前后端项目初始化、数据库服务器配置、开发工具统一配置等,确保所有团队成员都能在一致的环境中进行开发。
二、每日工作进展
周一:根据上周的ER图,开始进行数据库逻辑设计。将概念模型转换为关系模型,确定了18张数据表,包括用户表(user)、商品表(product)、商品图片表(product_image)、分类表(category)、订单表(order_info)、订单详情表(order_item)、消息表(message)、评价表(review)、收藏表(favorite)、举报表(report)等。对每张表进行了字段定义,包括字段名、数据类型、约束条件和索引设计。
周二:完成了数据库表结构的详细设计。所有表均遵循第三范式(3NF),消除了数据冗余和更新异常。为高频查询字段创建了索引,包括商品表的分类索引、状态索引和发布时间索引,用户表的学号索引和手机号索引。设计了外键约束来保证引用完整性。使用MySQL Workbench绘制了完整的数据库关系图。
周三:编写了数据库初始化脚本,包括建表语句、索引创建语句、初始数据插入语句和示例数据。在本地MySQL环境中执行脚本,验证了所有表结构的正确性。同时编写了数据库设计文档,记录了每张表的用途、字段说明和约束规则。
周四:搭建后端开发环境。使用Spring Initializr创建了Spring Boot项目,配置了MyBatis-Plus作为ORM框架、Spring Security作为安全框架、JWT用于身份认证。配置了开发环境的数据源连接、日志输出格式和跨域设置。编写了项目的基础代码结构,包括统一的响应格式类、全局异常处理器和参数校验配置。
周五:搭建前端开发环境。使用Vue CLI创建了Vue 3项目,安装配置了Vue Router、Pinia、Element Plus、Axios等核心依赖。搭建了前端项目的基础结构,包括路由配置、状态管理初始化、API请求封装和全局样式配置。实现了登录页面的静态布局作为前端框架的验证。
周六:配置了Git仓库和代码规范。在Gitee上创建了团队代码仓库,配置了分支策略:main分支用于生产代码,develop分支用于集成开发,feature分支用于功能开发。配置了ESLint和Prettier进行代码风格统一,编写了代码提交规范和分支管理规范文档。
周日:进行环境联调测试。每位团队成员在自己的电脑上克隆项目代码,按照环境配置文档搭建本地开发环境,确保前后端项目都能正常启动运行。解决了部分成员电脑上JDK版本不一致、Node.js版本不匹配等问题。最终所有成员均成功搭建了开发环境。
三、遇到的问题与解决方案
在数据库设计过程中,我们遇到了商品多图片存储方案的选择问题。最初考虑将图片路径以逗号分隔存储在商品表的单一字段中,但这不符合数据库范式,且查询不便。最终决定创建独立的商品图片表(product_image),通过外键关联商品表,支持为每张图片设置排序和封面标记。虽然增加了一张表,但数据结构更加规范,后续扩展也更灵活。
四、下周计划
下周开始核心功能开发,重点实现用户认证模块和商品管理模块的后端接口,以及前端的登录注册和商品列表页面。
浙公网安备 33010602011771号