立项背景和目标
随着营养健康管理、线上商品销售和用户个性化服务需求不断增长,原有分散式管理方式已难以满足业务发展需要,因此立项建设营养商场系统。项目目标是打通用户端、营养师端、运营管理端和后端业务服务,实现商品交易、课程服务、用户管理、订单支付、健康问卷与报告生成等业务在线化、标准化和可追踪化,提升运营效率与用户体验。
软件功能、核心功能模块介绍
本系统主要包含用户小程序端、后台管理端和统一业务服务端三部分。核心功能模块包括:用户登录与身份认证、商品展示与下单支付、购物车与订单管理、营养师申请与审核、营养课程发布与学习、会员与积分管理、优惠券与营销活动管理、健康问卷填写与AI报告生成、后台数据维护与审核管理等,形成完整的营养健康服务闭环。
业务流程、功能路径描述
用户进入小程序后,可完成注册登录、浏览商品或课程、加入购物车、提交订单并完成支付;如有健康管理需求,可填写问卷并生成健康报告;如申请成为营养师,则进入申请、审核、资料完善和课程发布流程。后台管理人员可通过管理端对用户、营养师、商品、订单、课程、问卷、报告及营销活动进行统一配置、审核和运营管理,后端服务负责为前后端提供统一接口与数据支撑。
整体架构和设计思路,不同模块使用的技术栈
本项目采用“前后端分离 + 多端统一服务”的整体架构设计,分为小程序前端、后台管理前端和 Java 后端服务三部分。用户侧主要通过微信小程序完成商品浏览、课程学习、订单支付、问卷填写和报告查看等操作;管理侧通过后台系统完成用户、营养师、商品、订单、课程、营销活动和报告等内容的统一管理;后端则负责承载业务逻辑、权限控制、数据存储与接口输出。技术栈方面,小程序端主要使用 uni-app、Vue3、Vite、Pinia、TailwindCSS 和相关 UI 组件库;后台管理端主要使用 Vue3、TypeScript、Vite、Element Plus、Pinia、Axios;后端采用 Java17、Spring Boot、MyBatis-Plus、Redis、WebSocket,并结合 Swagger/Knife4j 进行接口管理,整体设计思路是提高复用性、降低多端维护成本,并保证后续业务扩展能力。
“我”的负责模块和结果
我主要负责用户端和后台管理端相关业务模块的开发与联调,同时参与后端接口对接、接口联调和部分业务流程梳理。负责内容包括用户登录与认证、商品列表与详情、购物车、订单提交流程、营养师申请与审核相关页面、课程管理、问卷与报告展示,以及后台侧的部分配置、审核和数据管理页面。在项目推进过程中,我完成了多个核心业务页面和接口对接工作,参与梳理并落地了从用户下单、支付到后台审核、数据回流的完整链路,累计完成多个业务模块的开发、联调与优化,推动项目从基础框架逐步进入可运行、可测试、可交付状态。若需要量化表达,也可以写成“完成 10+ 业务页面开发、对接 30+ 接口、参与 3 条核心业务链路打通、解决若干联调问题并提升页面与接口稳定性”。
“我”遇到的难点、坑和解决方案
项目过程中我遇到的难点主要有三个方面。第一,多端接口口径不统一,尤其是小程序端和后台端在字段命名、接口前缀、状态值理解上存在差异,容易造成联调反复;对此我通过统一接口文档、梳理参数说明和补充公共请求封装来解决。第二,业务模块存在较多定制化逻辑,例如营养师、课程、问卷、报告、分销等模块之间存在交叉依赖,初期理解成本较高;我通过梳理页面路径、数据流向和核心表关系,逐步拆解复杂流程,降低了排查问题的难度。第三,环境配置和第三方依赖较多,包含数据库、Redis、微信能力、消息机制等,开发过程中容易出现本地环境不一致、配置遗漏和联调失败的问题;针对这些问题,我通过整理配置项、明确启动顺序、补充环境说明和反复验证关键链路,提升了整体联调效率和问题定位速度。