一、系统概述
网上花店系统是一个基于Web的应用程序,旨在为用户提供方便的在线购花服务。用户可以在任何有网络的地方访问系统,浏览各种花卉,下单购买,并查看订单状态。
二、功能需求
- 用户注册和登录:用户需要能够注册账户并登录系统。
- 花卉浏览:用户可以查看所有花卉的列表,包括每种花卉的名称、价格、图片等信息。
- 购物车功能:用户可以将喜欢的花卉添加到购物车中,并随时更新数量或删除花卉。
- 下单功能:用户可以将购物车中的花卉下单,并填写配送信息。
- 订单管理:用户可以查看自己的订单状态,包括已付款、待发货、已发货等状态。
- 个人信息管理:用户可以查看和修改自己的个人信息,如姓名、联系方式等。
三、技术选型
- 后端:Java Spring Boot框架,用于快速构建RESTful API。
- 前端:Vue.js框架,用于构建单页应用。
- 数据库:MySQL数据库,用于存储系统数据。
- 缓存:Redis缓存,用于提高系统性能。
- 持久层框架:MyBatis持久层框架,用于操作数据库。
四、数据库设计
- 用户表(user):存储用户信息,包括id、username、password等字段。
- 花卉表(flower):存储花卉信息,包括id、name、price、picture等字段。
- 订单表(order):存储订单信息,包括id、user_id、flower_id、quantity、status等字段。
- 订单明细表(order_detail):存储订单明细信息,包括id、order_id、flower_id、quantity等字段。
五、系统架构
- 后端架构:采用Spring Boot框架实现RESTful API,使用MyBatis持久层框架操作数据库。
- 前端架构:采用Vue.js框架构建单页应用,使用axios库发送HTTP请求。
- 前后端分离架构:后端只提供RESTful API,前端通过API与后端交互,实现数据双向传输。
六、关键模块实现
- 注册和登录模块:使用Spring Security进行身份验证和授权管理。用户注册时,后端验证用户名是否已存在,并生成加密的密码存储在数据库中。用户登录时,后端验证用户名和密码是否匹配。
- 花卉浏览模块:后端提供RESTful API获取花卉列表,前端通过API获取数据并在页面上展示。使用分页技术实现数据的分页展示。
- 购物车模块:后端提供RESTful API实现购物车的增删改查操作。前端通过API与后端交互,实时更新购物车数据。
- 下单模块:后端提供RESTful API实现下单功能。前端通过API将订单信息发送给后端,后端将订单信息存储到数据库中并返回订单号给前端。前端展示订单号给用户,告知用户已成功下单。
- 订单管理模块:后端提供RESTful API获取订单状态信息。前端通过API获取订单状态并在页面上展示给用户。使用状态机实现订单状态的自动转换。
- 个人信息管理模块:后端提供RESTful API实现个人信息的获取和修改功能。前端通过API与后端交互,实时更新个人信息数据。