9.校园二手网站系统( Springboot 和 thymeleaf(html)开源框架)

目录

1.系统的受众说明

2.系统需求分析

2.2.1用户功能模块

2.2.2二手交易功能需求

2.2.3需求发布功能需求

2.3.1操作流程

2.3.2添加信息流程

2.3.3删除信息流程

2.4 系统E-R图

3.系统概要设计

3.1系统的整体架构

3.2 数据库表

4.系统实现

4.1用户功能模块

4.2 二手交易功能模块

4.3 需求供给功能模块


1.系统的受众说明

     1 在校学习的学生,可用于日常学习使用或是毕业设计使用

     2 毕业一到两年的开发人员,用于锻炼自己的独立功能模块设计能力,增强代码编写能力。

     3 亦可以部署为商化项目使用。

     4 需要完整资料及源码,请在文末获取联系方式领取。

2.系统需求分析

  1. 问题分析

校园二手交易网站需要具有简洁易用的界面设计,能够吸引用户的注意力,提高用户的使用体验。需要具备交易物品的基本功能,包括发布物品信息、查看物品信息、购买物品等。此外,网站还可以提供其他附加功能,如物品分类、支付等。校园二手交易网站需要保证用户的信息安全,防止信息泄露和恶意篡改。因此,网站需要采取加密技术、身份验证机制等措施,来保证用户的信息安全。校园二手交易网站的设计和开发需要考虑网站的可维护性。网站需要提供良好的操作说明,方便用户查看和使用;网站也需要定期更新和维护,以保证网站的正常运。

    1. 系统需求分析

2.2.1用户功能模块

(1)登录:管理员能够根据账号访问系统。

(2)用户管理:管理员可以添加、删除、修改用户信息,查看用户列表,对用户进行管理和控制。例如,管理员可以查看每个用户的个人信息、交易记录等,并可以对用户的交易行为进行审核和管理。

(3)商品管理:管理员可以添加、删除、修改物品信息,查看物品列表,对物品进行管理和控制。例如,管理员可以查看每个物品的详细信息、交易记录等,并可以对物品的交易情况进行审核和管理。

(4)订单管理:管理员可以查看交易信息,对交易进行管理和控制。例如,管理员可以查看每笔交易的详细信息,包括交易物品、交易时间、交易金额等,并可以对交易进行审核和管理。

(5)退出模块:管理员可以在使用完系统后,进行系统退出操作,用于保证系统的安全性,避免自己不在的时候,别人登录系统。

2.2.2二手交易功能需求

(1)登录:用户能够根据账号访问系统。

(2)主界面:系统首页对校园二手物品,根据商品的种类进行展示,能较为直接的对所需要的物品进行查看。

(3)物品发布:用户可以通过物品发布按钮,发布自己的闲置物品。可以上传二手物品名称、物品详细信息、地区、物品的类别、价格和上传和商品的信息有关展示图片展示等。

(4)消息模块:用户可以在商品信息下方,发表自己对商品的评价并可以在消息模块内对商品的信息进行相关的留言查,并能显示自己评论的时间、相关内容和对此评价的物品信息等。

(5)物品购买模块:用户可以通过立即购买按钮,对所需要的物品进行购买,如果是对一次进行购买的用户,需要输入自己的收货地址。相关信息填写完毕后,便可以通过支付按钮进行相关支付操作。

(6)收藏模块:用户可以把自己的喜欢的商品进行收,可以等到后期需要的时候不需要花费太多的时间对商品进行重新的选择。

(7)下架模块:用户可以对自己上传的商品进行下架处理,当自己上传的商品不想再进行销售时候,可以进行下架操作。

(8)售出、购买模块:用户可在售出模块内,对自己物品的销量进行查看,能够实时的掌握自己的商品最新的销售状态,以便能及时的进行补货上新操作。在购买模块中,可以对自己进行购买过的商品信息进行查看,以便于对近期购买的商品有个直观的掌握。

(9)个人资料:用户可以在个人资料模块内,对自己的名称和密码进行维护等操作啊,可以提高自己账号的安全性。

(10)退出模块:用户可以在使用完系统后,进行系统退出操作,用于保证系统的安全性,避免自己不在的时候,别人登录系统。

2.2.3需求发布功能需求

(1)游客在没有进行注册登录时候,只能对商品的信息进行查看,无法进行购买和留言等一系列操作。

(2)游客可以通过注册页面填写所需要的注册信息进行注册。

系统流程分析

2.3.1操作流程

用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图2-1所示。

图2-1操作流程图

2.3.2添加信息流程

添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图2-2所示。

图2-2添加信息流程图

2.3.3删除信息流程

用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图2-3所示。

图2-3删除信息流程图

2.4 系统E-R

管理员信息表是用于存储管理员的基本信息,例如用ID、户名、密码等。

管理员实体属性如图2-4。

 

图2-4 管理员实体

(2)用户信息表是用于存储用户的基本信息,例如用户名、密码、注册时间和状态等。

用户实体属性如图2-5。

 

图2-5 用户实体

(3)地址表是用于描述收货人收货地址的基本信息,例如编号、手机号和默认地址等。

地址表属性如图2-6。

 

图2-6 交易物品实体

(4)收藏表是用于描述用户对喜欢的商品进行收藏的信息,包括编号、收藏时间和闲置主键等。收藏表表实体属性如图2-7。

 

图2-7 评价信息实体

(5)订单信息表是用于存储用户下单时的信息,例如用户名、物品编号、价格等。

订单信息表实体属性如图2-8。

 

(6)商品表是用于描述用户上传闲置商品的信息表,例如图集、详情、价格和发布时间等。商品表表实体属性如图2-9。

图2-9 商品信息实体

(7)消息表是用于描述用户对商品进行相关评价的信息表,例如留言内容、留言时间和所回复用户等。订单信息表实体属性如图2-10。

                                                                                

图2-10 商品信息实体

3.系统概要设计

3.1系统的整体架构

该系统的整体架构如下图3-1所示。

图3-1 系统整体架构图

通过对该系统的分析之后,该系统的整体架构可以分为如下五层:Pojo层、Dao层、Service层、Controller层、View层。

Pojo层其实就是对应着数据库中的实体类,并且实体类中的属性名与数据库属性名一样,在数据库没有访问的时候,Pojo层中的实体类有Spring提供的容器进行管理。

Dao层是数据访问层,和数据库联系比较密切。MyBaits提供了接口式编程方式,只需创建接口和在对应的配置文件中编写SQL语句[9],即可实现对数据库的增删改查。

Service层是业务层,用来处理具体的业务逻辑,并且不需要考虑其具体实现,通过调用Dao层对象实现业务逻辑的编写。

Controller层是控制层,该层和View层联系特别紧密,需要对前台用户发送的请求进行处理和页面跳转,并且需要调用Service层的对象。

View层是视图层,主要用来展示前台JSP页面,可以向后台发送请求,并且可以对后台返回的数据和结果进行响应。

    1. 系统功能结构图

校园二手物品交易平台主要分为两个大模块:需求发布和二手物品交易。游客具有查看网站首页和注册的功能。没有注册之前游客只能观看首页并不能进行留言和购买等多种权限操作。学生可以通过系统进行登录、物品发布、消息模块、物品购买模、收藏模块、下架模块、售出模块、购买模块、退出模块和个人信息模块内对自己的商品信息进行维护,可以发布自己的新的商品,对比较满意的商品做出适当的评价。也可以收藏别人发布的商品,便于自己九七进行购买。并且可以根据自己的需要对物品进行下架等操作。可以根据实际的情况来调整物品的上架和下架信息。也可以通过个人信息模块对自己的用户名和密码信息进行维护。管理员具有登录、用户管理、商品管理、订单管理和退出模块等功能。其可以在用户管理模块内对系统中的用户进行相应的管理。如若某些账号因为发布不法的商品可以对用户做出封号处理。商品信息模块内可以对上线的物品进行相应的处理,如果违规则可以进行下架处理。订单管理模块内可以对用户进行购买的订单进行相应的管理等。并且管理员在不使用系统时,可以选择退出系统等操作。如图3-2校园二手物品交易平台。

 

图3-2校园二手物品交易平台模块

3.2 数据库表

(1)管理员表

管理员表包含着其个人的基本资料信息,如编号、密码和管理员名字等字段,其具体展示见表3-1。

表3-1 管理员表

字段名

数据类型

描述

id

int(11)

编号

account_number

int(11)

管理员账号

admin_password

varchar(20)

管理员密码

admin_name

varchar(32)

管理员名字

(2)学生表

学生表包含着其个人基本信息资料,如账号、登录密码和注册时间等字段,其具体展示见表3-2。

表3-2 学生表

字段名

数据类型

描述

id

int(11)

编号

account_number

varchar(20)

账号

user_password

varchar(32)

密码

nickname

varchar(20)

昵称

avatar

varchar(20)

头像

sign_in_time

date

注册时间

user_status

int(1)

状态

(3)地址表

学生表包含着其基本资料,如收货人姓名、收货人手机号和详细地址等字段。其具体展示见表3-3。

表3-3 地址表

字段名

数据类型

描述

id

int(11)

编号

consignee_name

varchar(20)

收货下姓名

consignee_phone

varchar(32)

收货人手机号

province_name

varchar(20)

city_name

varchar(20)

region_name

varchar(20)

detail_address

varchar(20)

详细地址

default_flag

varchar(20)

默认地址

user_id

varchar(20)

用户主键

(4)消息表

消息表是用于展示用户给相关物品的评价信息表,包含留言内容、留言时间和所回复的留言等字段,其具体展示见表3-4。

表3-4 消息表

字段名

数据类型

描述

id

int(11)

编号

user_id

int(11)

用户主键

idle_id

int(11)

闲置主键

create_time

date

留言时间

content

int(11)

留言内容

to_message

varchar(20)

所回复的留言

to_user

int(11)

所回复的用户

(5)收藏表

收藏表是用于展示学生对喜欢的物品进行收藏等信息,包含收藏时间、用户主键和闲置主键等字段,其具体展示见表3-5。

表3-5 收藏表

字段名

数据类型

描述

id

int(11)

编号

create_time

date

加入收藏的时间

user_id

int(11)

用户主键

idle_id

int(11)

闲置主键

(6)商品表

商品表是用于展示学生上传的商品等信息,包含闲置商品名称、详情和图集等字段,其具体展示见表3-6。

表3-6 商品表

字段名

数据类型

描述

id

int(11)

编号

idle_name

varchar(20)

闲置物品名称

idle_details

varchar(255)

详情

picture_list

varchar(20)

图集

idle_price

double(20,0)

价格

idle_place

varchar(50)

发货地区

idle_label

varchar(50)

分类标签

idle_status

int(1)

状态

user_id

int(11)

用户主键

release_time

date

发布时间

(7)订单表

订单表是用于展示学生卖出商品的订单相关的物品信息,包含订单总价、支付方式和支付时间等字段,其具体展示见表3-7。

表3-7 订单表

字段名

数据类型

描述

id

int(11)

编号

order_number

varchar(50)

订单编号

user_id

varchar(50)

用户主键

idle_id

varchar(50)

闲置物品主键

order_price

double(20,0)

订单总价

payment_status

int(11)

支付状态

payment_way

varchar(50)

支付方式

create_time

Date

创建时间

order_status

int(4)

订单状态

is_deleted

int(4)

是否删除


4.系统实现

4.1用户功能模块

 系统管理员和用户有不同的登录界面,当运行项目成功后,在浏览器输入

后台:http://localhost:8081/ 初始可用账号 admin  123456前台:http://localhost:8081/home/index/index初始可用账号 111  111 即可进入。其具体展现见图4-1-1。

图4-1-1 学生登录界面

                                                                    图4-1-1 注册界面

                                                                 图4-1-2个人信息界面

                                                                  图4-1-3商品收藏界面

4.2 二手交易功能模块

商品管理:管理员可以对上线的物品进行相应的管理,可以对违规商品进行下架处理。并可以在下架的二手物品模块内可以对下架的物品进行删除等操作。其具体展现见图4-2,4-3所示。

图4-2 上线的二手物品界面

图4-3  二手物品详情界面

留言功能管理: 用户可以在展示的商品下方留言。其具体展现见图4-4。

                                                                               

图4-4 留言界面

用户联系: 用户可以挑选喜欢的二手商品收藏或者获取拥有者的联系方式进行交换。见图4-5。

图4-5 正常用户界面

 

4.3 需求供给功能模块

主页面:主页面是用于展示学生需要卖出的商品信息等。包含各种种类的商品信息。其具体展现如4-8所示。

图4-8系统主界面

需求发布模块:需求发布模块内学生可以对自己需要帮助的需求发出来请求协助。有单人需求,学生兼职,众包需求其具体展现见图4-9。

图4-9需求发布界面

需求列表模块:求购模块内用户查看学生发布的需求信息等。其具体展现见图4-10。

图4-10 消息界面

需求详细模块:学生可以在发布需求模块内对自己发布的需求信息进行查看。其具体展现见图4-11。

图4-11 发布商品列表界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据集成系统:赋能企业数字化转型的核心技术

在当今数字化时代下,企业面临数据量增长和多样化带来了巨大的挑战。如何整合利用这些数据是企业成功决策的基础。所以在这样的背景之下,数据集成系统成为了企业关注点。将不同来源的数据整合在一起,并且能够清晰的分析各类问题,已…

程序员们辛苦啦!1024程序员节,今天,我们不一样!

一、程序员节来历 程序员节(Programmers Day)是一年中专门为程序员和计算机科学工作者所设立的节日,通常是在每年的第256天庆祝。256这个数字在编程中具有特别的意义,因为它是2的8次方,代表着一个字节可以表示的所有可…

如何借助前端表格控件助力企业实现财务数字化转型

最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 前言 在当今快速变化的经济环境中,记账软件对个人和企业的重要性愈发突出。对于个人而言,它可以帮助用户实时掌握财务状况,促进合理消费和有效储蓄&…

Java项目-基于Springboot的高校党务系统项目(源码+说明).zip

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

【SoC_Design】USB基本知识

目录 USB物理接口 USB3.0物理层支持dp-alt的usb type-c接口 拓扑结构层次结构 USB物理接口 USB2.0 两线:D、D- USB3 六线:D、D-、SSTX、SSTX-、SSRX、SSRX- USB3 2lane 十线: D、D-、(SSTX、SSTX-、SSRX、SSRX-)x2USB2…

什么是KKT 条件(Karush-Kuhn-Tucker 条件)

KKT 条件(Karush-Kuhn-Tucker 条件)是优化理论中的一组必要条件,适用于求解带有等式和不等式约束的非线性规划问题。当目标函数和约束条件是凸的时,KKT 条件也是找到最优解的充分条件。在支持向量机(SVM)的…

CSS文本基础知识

1、文本缩进 属性名:text-indent 属性值:数值px; 数字em(推荐:1em当前标签的字号大小) 例:代码: 结果: 2、文本对齐方式 作用:控制内容水平方式 属性名&#xff1a…

【力扣 | SQL题 | 每日3题】力扣1990, 2020, 2051

1. 力扣1990:统计实验的数量 1.1 题目: 表: Experiments ----------------------- | Column Name | Type | ----------------------- | experiment_id | int | | platform | enum | | experiment_name | enum | ----------------------…

公众号变现及生财内参项目建议

一、核心内容 (一)公众号变现分享 从业者王薄荷介绍公众号常规盈利思路为推文广告和品牌广告,公众号能外链的地方有菜单栏和阅读原文,虽菜单栏点击率低但有商业价值。以小说为例,主要盈利方式是小黄文截止在高潮部分…

HTB:Knife[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many TCP ports are open on Knife? 2.What version of PHP is running on the webserver? 并没有我们需要的信息,接着使用浏览器访问靶机80端口 尝试使用ffuf对靶机Web进行一下目录FUZZ 使用curl访问该文件获取HTTP头…

VisionPro 手部骨骼跟踪 Skeletal Hand Tracking 虚拟首饰

骨骼手部跟踪由XR Hands Package中的Hand Subsystem提供。使用场景中的Hand Visualizer组件,用户可以显示玩家手部的蒙皮网格或每个关节的几何图形,以及用于基于手部物理交互的物理对象。用户可以直接针对Hand Subsystem编写 C# 脚本,以推断骨…

聚焦IOC容器刷新环节postProcessBeanFactory(BeanFactory后置处理)专项

目录 一、IOC容器的刷新环节快速回顾 二、postProcessBeanFactory源码展示分析 (一)模版方法postProcessBeanFactory (二)AnnotationConfigServletWebServerApplicationContext 调用父类的 postProcessBeanFactory 包扫描 …

React综合指南(二)

https://activity.csdn.net/creatActivity?id10787 #1024程序员节|征文# 21、 React中的状态是什么?它是如何使用的?? 状态是 React 组件的核心,是数据的来源,必须尽可能简单。基本上状态是确定组件呈现…

rk3568 android11 单独烧写内核。

问题: 我现在 遇到一个问题,如果我单独 烧写boot.img 的话,就会进入 recovery 的模式。 如下图: 问题说明: 如果我烧写的 Update.img 是可以启动的。那么我再烧写一个 编译 update.img 顺带编译出来的 boot.img 是可以正常启动的。 问题出在 , 如果我 重新编译一遍 ,使…

在Oxygen编辑器中支持数学公式

在编写文档时,经常需要插入公式。虽然将公式作为图片插入到文档中是可以的,但这会使后续的修改变得非常不便。目前,MathML (Mathematical Markup Language) 和 LaTeX 是两种常用的数学公式描述语言,它们各自具有不同的特点和适用场…

第二十九篇:图解TCP三次握手,一次说透,TCP系列四

⼀开始,客户端和服务端都处于 CLOSED 状态。先是服务端主动监听某个端⼝,处于 LISTEN 状态。 接下来这部分内容的介绍将影响你能不能彻底理解了TCP的三次握手。 一、划重点:只有服务端启动了端口监听,客户端TCP握手才能建立连接&…

关于jmeter设置为中文问题之后无法保存设置的若干问题

1、jemeter如何设置中文模式 Options--->Choose Language--->Chinese(Simplifies), 如此设置后就可显示中文模式(缺点:下次打开还是英文);如下图所示: 操作完成之后: 但是下次重启之后依旧是英文; 2、在jmeter.…

TRIZ理论在医疗电子研发中的应用

TRIZ,全称“Theory of Inventive Problem Solving”(发明问题解决理论),是一种系统化、逻辑严谨的创新方法论。它通过对大量发明案例的深入分析和总结,提炼出一套行之有效的创新原理和解决方案,旨在帮助人们…

【Word原件测试资料合集】软件系统功能测试方案,软件测试方案(整体方案),软件测试文档-测试计划模版(功能与性能),软件测试流程

一、 前言 (一) 背景 (二) 目的 (三) 测试目标 (四) 适用范围与读者对象 (五) 术语与缩写 二、 软件测试实施流程 (一) 测试工作总体流…

Hive使用与介绍

Hive 是一个大数据处理工具,使用起来相对简单,主要是通过 HiveQL 查询语言与 Hive 数据库进行交互。以下是使用 Hive 的基本方法和步骤,包括如何安装 Hive、编写 HiveQL 查询,以及一些常用的操作示例。 1. Hive 安装与配置 Hive 依赖 Hadoop,必须先安装 Hadoop 并配置 H…