前言
哈喽兄弟们,好久不见哦~
最近整理了一下之前写过的一些小项目/毕业设计。发现还是有很多存货的,虽然这些项目普遍都写的比较简单,但想一想既然放在电脑里面也吃灰,那么还不如开源分享出去,没准还可以帮助到一些小白新手。
本期就在其中选取了一个咖啡商城项目进行分享。在项目资料中,包括了项目的完整源代码、前端模板项目、文档介绍、数据库结构以及一些其它素材。
项目资料获取查看文章评论
项目介绍
咖咖商城(kaka-shop)是一个基于 SpringBoot 开发的标准 Java Web 项目。系统整体页面设计简约精美,交互新颖,是一款制作精良的服务于咖啡爱好者的商城系统。该系统不仅易于初学者理解和学习,而且在学校项目答辩和毕业设计等场景中表现出色。
角色介绍
系统共设计了三个角色:游客、用户、管理员。
- 游客:尚未进行注册和登录。具备登录注册、浏览主页、浏览商品及评论、搜索商品等权限。
- 用户:除了游客的功能权限外,还具备登录、个人资料的修改、登录密码修改、收获地址、商品收藏、购物车、商品订单、评价等权限。
- 管理员:除了用户的功能权限外,还具备商城后台管理:用户管理、商品分类、商品管理、订单管理、评价管理等。
功能介绍
游客功能介绍
功能模块 | 功能描述 |
登录注册方面 | 注册成为系统用户 |
系统主页 | 浏览系统主页、商品详情、商品搜索、分类查看、查看优惠折扣 |
用户功能介绍
功能模块 | 功能描述 |
登录注册方面 | 填写用户信息进行账号注册、使用邮箱密码进行登录、忘记密码(使用邮件提醒) |
个人资料方面 | 修改个人资料、修改登录密码 |
地址管理方面 | 维护个人的收获地址,可设置多个地址,并设置其中一个为默认收获地址 |
商品收藏方面 | 浏览商品、加入收藏夹,可将收藏夹的商品直接加入购物车 |
购物车方面 | 将商品加入购物车、自动计算购物车的价格(计算优惠) |
购买商品方面 | 创建商品订单,选择收货地址,去支付(当时没有对接支付系统,所以用的是假支付) |
订单管理方面 | 查看待发货订单、已发货订单、取消订单、确认收货 |
商品评价方面 | 确认收货后可对商品进行评价,评星数、评语等,评星数将影响系统的商品推荐,评星评语公开可见 |
管理员功能介绍
功能模块 | 功能描述 |
登录注册方面 | 使用邮箱密码进行登录、忘记密码(使用邮件提醒) |
个人资料方面 | 修改个人资料、修改登录密码 |
用户管理方面 | 管理系统的注册用户、修改用户资料、修改用户资料 |
商品分类管理 | 维护商品分类(若当前分类下已存在商品,那么禁止删除) |
商品管理方面 | 发布商品(名称、颜色、原材料、产地、描述、封面、原价、现价、库存、状态等信息)、修改商品信息、上架下架、删除等 |
商品订单管理 | 查看待发货、已发货、已完成、已取消的订单,商品发货(填写快递号、厂商),删除订单等 |
商品评价管理 | 查看全部评价、回复评价、删除评价等 |
技术介绍
前端
名称 | 描述 |
HTML、CSS | 用于设计网页的内容和样式 |
JavaScript、JQuery | 作为开发 Web 页面的脚本语言,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果 |
Bootstrap | 基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷 |
前端模板 | 智慧医药系统页面模板,模板文件已放在分享项目目录下 |
后端
名称 | 描述 |
SpringBoot | SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot 致力于在蓬勃发展的快速应用开发领域成为领导者。 |
SpringMVC | Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 |
MyBatis | MyBatis 是一个 Java 持久化框架,它可以帮助开发者更轻松地管理数据库访问和SQL映射。它提供了一种简单且灵活的方式来进行数据库操作,同时还支持动态 SQL、缓存和批量操作等功能。 |
Thymeleaf | Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发的,用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 JSP、Velocity、FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。 |
Druid | Druid 是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到 Druid 后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入 Druid,外部系统就可以对该事实进行查询。 |
开发工具与环境
- 开发工具
- IntelliJ IDEA:主要进行系统的开发、系统调试等
- 使用到的插件
- Lombok:使用注解代替在实体类中添加的 get/set/toString 方法等
- WebStorm:主要进行前端页面的开发
- Navcat:主要进行数据库的连接、建库建表、系统调试等
- 开发环境
- JDK 1.8
- Maven 3.6
- MySQL 5.7
- 阿里云 OSS 对象存储
阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,对于我们这个项目而言,所有的二进制文件,包括头像、用户上传的文件都是存储到了 OSS 里面(调用相关的工具类),在数据库中只是保存了文件的 URL 地址。通过这个 URL 地址就可以获取、下载指定文件
项目结构
本项目使用标准 Java Web 目录结构,后端使用 MVC 三层架构,具体项目结构如下:
- src:源码目录
- src/main/java:源码主体目录
- src/main/java/xxx/component:常用组件存放地址,比如登录拦截器、OSS 客户端、AIGC 客户端等【组件】
- src/main/java/xxx/controller:控制器类存放地址【控制层】
- src/main/java/xxx/entity:实体类存放地址【模型】
- src/main/java/xxx/dao:MyBatis 的映射接口存放地址,【数据访问层】
- src/main/java/xxx/service:业务层接口存放地址【业务逻辑抽象层】
- src/main/java/xxx/task:定时任务存放地址【任务】
- src/resources:资源文件存放目录
- src/main/resources/mybatis:MyBatis 相关文件存放位置【MyBatis】
- src/main/resources/academic-report.sql:数据库脚本
- src/main/resources/static:前端静态资源存放地址
- src/main/resources/templates:前端页面存放地址
- src/main/resources/application.yml:SpringBoot配置文件
- pom.xml:Maven项目依赖管理文件
注意!如果想要部署本项目,你只需要修改一个文件:application.yml
- 修改数据源配置开源项目部署环境准备-CSDN博客
- 修改邮件配置 开源项目部署环境准备-CSDN博客
- 阿里云对象存储配置 开源项目部署环境准备-CSDN博客
注意 MySQL 的版本是 5.7,使用其它版本可能会出现其它未知问题。
系统截图
系统注册与登录
系统主页与菜单
个人资料与地址管理
商品列表与快速查看
商品详情
商品收藏与购物车
订单管理与商品评价
用户管理
商品分类与商品列表
发布商品
订单列表与订单发货
评价管理
开源声明
本项目已在 Github 开源,喜欢的话记得帮忙点亮 Star,不求打赏,免费分享,只求你一个免费的👍,你的支持是我做下去的动力。