0


(苍穹外卖 DAY0)项目介绍、功能架构及技术栈介绍

项目介绍:

这是一款餐厅定制的软件产品,分为管理端和用户端,管理端供商家也就是餐厅使用,餐饮企业可以通过系统管理员工、菜品、套餐和订单,通过工作台、数据统计分析经营数据。用户端是给点餐的顾客使用的,结合了微信小程序,提供在线浏览菜品和套餐、添加购物车、下单和支付等功能。

功能架构:

分析:

  • 管理端:
     管理端顾名思义,就是供管理员使用的。
    
      假设你是店长,经营了一家餐厅,你需要完成哪些工作?
    
  1. 首先想到对员工、菜品的管理 => 员工管理、菜品管理
  2. 管理菜品,涉及到对菜品进行分类 => 分类管理
  3. 菜品组合,搭配成套餐更利于销售 => 套餐管理
  4. 销售完成,生成订单 => 订单管理
  5. 需要了解当天流水、交易相关信息 => 工作台
  6. 优化餐厅经营,需要对数据进行分析 => 数据统计
  7. (及时处理订单,保留顾客) => 来/催单提醒
  • 用户端:
      用户端顾名思义,就是供用户员使用的。
    
      结合自身在餐厅点餐的经验,用户应该可以完成哪些操作?
    
  1. 点餐时需要获取信息、账户等,也就是说必须要完成登录 => 微信登录
  2. 了解餐厅售卖的商品(菜品、套餐等) => 商品浏览
  3. 购买超出1件/种商品时,需要有载体 => 购物车
  4. 购买商品,生成订单 => 用户下单
  5. 付款 => 用户支付
  6. 当老客户/不小心取消订单,希望重新下单或者单纯看看点过啥时 => 历史订单
  7. 如果是商家自送,需要提供收货地址 => 地址管理
  8. 下单了,但订单等太久得不到处理 => 催单退款

功能操作

(仅超级管理员登录管理端可进行数据的增删改操作,普通员工登录只可进行查询操作)

技术栈:展示项目中使用到的技术框架和中间件等

技术框架&中间件及使用
名称概述项目中的使用技术框架Node.js一个基于Chrome V8引擎的JavaScript运行环境,用于构建快速、可扩展的网络应用程序。构建管理端界面Vue.jsJavaScript前端框架,用于构建用户界面构建管理端界面SwaggerAPI文档生成工具,用于设计、构建、文档化RESTful API测试POIApache提供的Java库,用于操作Microsoft Office格式的文件导出统计数据Spring Boot基于Spring框架的快速开发框架,用于构建Java应用程序搭建项目Spring MVCSpring框架的一部分,用于构建Web应用程序的MVC框架搭建项目Spring TaskSpring框架提供的任务调度和定时任务管理功能定时检查订单状态Spring Cache Spring框架的缓存抽象和支持支持缓存JWT(JSON Web Token)用于身份验证和信息传输的开放标准(JSON对象)安全登录WebSocket一种通信协议,用于在客户端和服务器之间实现双向通信催单、来单提醒中间件****Apache ECharts一个基于JavaScript的数据可视化库数据统计图形化HttpClientJava的HTTP客户端库,用于发送HTTP请求HTTP请求和响应阿里云OSS阿里云提供的对象存储服务存储菜品图片MySQL关系型数据库管理系统持久化数据Redis开源的内存数据库,用作缓存、消息队列等营业状态、小程序用户浏览MyBatisJava持久层框架,用于与数据库交互持久化数据PageHelperMyBatis的分页插件,用于数据库查询结果的分页处理分页查询Spring Data RedisSpring框架提供的Redis数据访问抽象库营业状态、小程序用户浏览Nginx
高性能的HTTP和反向代理服务器。
代理

为什么这么选择技术栈?

中间件 / 技术框架原因Node.jsNode.js适合构建高效的后端服务和实时应用程序。它具有非阻塞I/O模型和轻量级的高性能特性。Vue.jsVue.js易于上手并且性能优异。它提供了组件化开发的能力,能够快速构建交互性强、用户体验良好的单页面应用。ElementUIElementUI是一个基于Vue.js的组件库,提供了丰富的UI组件和交互式的界面元素,能够快速构建美观的用户界面。微信小程序微信小程序是在微信平台上运行的轻量级应用,用户可以无需下载即可快速访问。适合于快速推广和用户便捷使用。Apache EChartsApache ECharts是一个功能强大的开源图表库,支持多种图表类型和交互特性,适合用于数据可视化和统计分析。
Spring Boot;

SpringMVC

Spring Task

Spring框架是Java生态系统中最流行的企业级框架之一;

Spring Boot简化了Spring应用的开发和部署;

SpringMVC提供了强大的Web应用支持‘

Spring Task用于定时任务管理。
HttpClientHttpClient是一个强大的HTTP客户端库,用于在Java中进行HTTP请求和响应的处理。
Spring Cache;

Spring Data; Redis

Spring Cache提供了缓存抽象和支持,可以轻松集成到Spring应用中,提高数据访问性能和系统响应速度;

Spring Data Redis用于操作Redis缓存和数据存储。
JWTJWT(JSON Web Token)是一种安全的身份验证和授权机制,用于在客户端和服务器之间安全地传递信息。阿里云OSS阿里云对象存储(OSS)是一种高可用、高扩展性的云存储服务,适合存储和管理软件中的图片、文件等静态资源。SwaggerSwagger是一种流行的API文档生成工具,能够自动生成和展示RESTful API的文档,并支持在线调试和测试。POIPOI(Poor Obfuscation Implementation)是Apache软件基金会的开源项目,用于读写Microsoft Office格式文件,如Excel。WebSocketWebSocket是一种在单个TCP连接上进行全双工通信的协议,适合实时通信和消息推送。
MySQL;

Redis;

MyBatis;

PageHelper;

Spring Data Redis

MySQL是一个流行的关系型数据库,适合存储结构化数据;

Redis是一个高性能的键值存储数据库,用于缓存和临时数据存储;

MyBatis是一个持久层框架,用于简化数据库访问;

PageHelper用于分页查询
NginxNginx是一个高性能的HTTP和反向代理服务器,用于负载均衡、静态资源服务、HTTPS代理等。


本文转载自: https://blog.csdn.net/m0_74305750/article/details/140087865
版权归原作者 烟花易冷少 所有, 如有侵权,请联系我们删除。

“(苍穹外卖 DAY0)项目介绍、功能架构及技术栈介绍”的评论:

还没有评论