旅游平台day01

news/2024/7/7 16:45:38 标签: 旅游

1. 项目总体内容划分:

  • 项目介绍
  • 注册登录
  • 目的地
  • 旅游攻略
  • 旅游日记
  • 内容评论
  • 数据统计
  • 网站首页
  • 项目相关

2. 项目介绍

基于SpringCloud Alibaba+Spring boot的分布式微服务旅游点评网站。面向的受众是旅游爱好者。致力于打造一个真实详细的自助旅游咨询平台。提供景区旅游、宾馆酒店、渔乐家住宿、旅游车船、休闲娱乐、旅游购物等服务,是一个点评类内容的互联网旅游导向的项目。

  • 核心模块:
    目的地、旅游攻略、旅游日记、站内搜索。

  • 用户与角色:
    普通用户、后台管理员、游客

  • 系统关键词:
    平台、后台管理

  • 系统基本结构
    展示前端(所有客户使用)、管理后端(企业营运人员使用)、数据服务(项目数据维护)

2.1 项目目的

  1. 为了了解整个旅游点评项目各个流程和需求,对实际项目的开发有一个较为深刻的理解;
  2. 掌握项目中的一些重要的第三方工具/框架;如:oss、CKeditor、vue等的使用;
  3. 掌握提升自我价值的知识点;如:redis、mongodb、es、mbp等;
  4. 掌握如何从0到1项目的开发;

2.2 项目需求

2.2.1. 前端旅游网站
2.2.2. 后端管理

2.3 项目演示

2.4 技术路线

数据库:mysql+redis+es+mongodb
持久化层:spring-data+mbp
业务层:springboot
Web:springMVC
微服务方案:springcloud alibaba
前端:管理后台 jQuery+BootStrap3+layui+vue 前端展示 vue+css+jQuery
开发模式:管理后台 前后端分离 前端展示 前后端分离

2.5 项目搭建

2.6 项目细节

3. 微服务项目拆分

3.1 模块划分

  1. 目的地模块
  2. 攻略模块
  3. 游记模块
  4. 机票模块
  5. 酒店模块
  6. 评论模块
  7. 问答模块
  8. 搜索模块
  9. 用户模块

3.2 服务拆分原则

3.2.1 基于业务逻辑

简而言之就是基于模块去拆分
可能由于模块之间耦合度高造成一定的问题

3.2.2 基于稳定性

一个稳定的服务 和一个不稳定的服务
不稳定的服务频繁更新,会造成稳定的服务出现问题

3.2.3 基于可靠性

按照可靠性进行排序,对可靠性要求高的核心模块归在一起,对可靠性要求不高的归在一起
核心服务 非核心服务

3.2.4 基于高性能

对于用户访问量大的模块,要求服务性能好,单独拆分
对于请求量不大的服务,可以划分一起

3.3 拆分结果

  • 文章模块(旅游目的地管理攻略,游记管理)
  • 评论模块(文章评论管理)
  • 用户模块(登录注册)
  • 搜索模块(基于es实现全文搜索)
  • 数据模块(文章数据统计)
  • 问答模块(暂不考虑)

用户服务、文章服务、点评服务、数据服务、搜索服务

4. 开发周期与人员配比

  • 产品公司
    周期:3个月
    人员:后端6+ 前端3+
  • 外包公司
    周期:3-4个月
    人员:后端5- 前端2

5. 项目结构规划

微服务:用户服务、文章服务、点评服务、数据服务、搜索服务
网关:网关服务
前端服务:后台管理服务管理前端、前台展示页面服务

  • 父项目
    • 网关
      trip-gateway
    • 前端
      trip-website
      trip-mgrsite
    • 公共模块 父项目
      trip-common
      trip-common-core
      trip-common-redis
      trip-common-es
      trip-common-xxx
    • 微服务 api 父项目
      trip-server-api
      trip-article-api
      trip-comment-api
      trip-user-api
      trip-data-api
      trip-search-api
    • 微服务
      trip-server
      trip-article-server:文章/目的地
      trip-comment-server:评论
      trip-user-server:用户
      trip-data-server:数据统计
      trip-search-server:搜索

6. 项目创建

jdk:1.8
创建父项目trip-cloud:使用父项目进行统一依赖版本管理
创建网关模块trip-gateway:spring-cloud-starter-gateway spring-cloud-starter-alibaba-nacos-discovery
创建两个前端项目模块:trip-website trip-mgrsite
创建公共模块trip-common:不管理依赖,作为父模块的存在
trip-common-core:公共核心模块,导入lombok依赖
创建server父模块
创建api父模块

7. 用户服务

7.1 用户实体类

在这里插入图片描述

7.2 配置文件

在这里插入图片描述

7.3 小细节

使用构造方法注入:学习这种构造方法,与Autowired注入的不同之处
配置nacos命名空间:每个项目有自己的命名空间,不同的项目放到不同的命名空间下
本地配置转移到nacos配置中心:本地使用bootstrap.yam
配置文件profiles:activate:dev环境表示:开发环境

7.4 共享配置

7.4.1 单项目配置共享

nacos共享配置文件,使用profile:activate:test(dev)一键切换。

7.4.2 跨项目配置共享


http://www.niftyadmin.cn/n/5333461.html

相关文章

软件工程复习自用---第六章

详细设计 考题重点 结构程序设计 结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 结构程序设计更全面的定义:结…

三菱plc学习入门(创建属于自己的FB模块)

在现实生活中,往往会需要修改一些属于方便自己的库,1,自己创建的库方便自己使用与查看2,提高自己编程能力,3,保护自己的程序不被外人修改!!!下面就让我来操作一下 导入需…

【动态规划】【离线查询】【前缀和】689. 三个无重叠子数组的最大和

作者推荐 【动态规划】【数学】【C算法】18赛车 本文涉及的基础知识点 动态规划 滚动向量 离线查询 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode689. 三个无重叠子数组的最大和 给你一个整数数组 nums 和一个整数 k &…

JAVA开发工作笔记

Android开发 1、解决notifyDataSetChanged()刷新数据的时候,edittext的焦点就会自动消失 第一步:在adapter中复写此方法 Override public long getItemId(int position) { return position; }第二步:在创建Adapter的时候设置setHasStabl…

如何在MinIO存储服务中通过Buckets实现远程访问管理界面上传文件

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等…

迅为RK3588开发板编译 Buildroot单独编译图形化界面(打包镜像)

上面 Kernel/U-Boot/Recovery/Rootfs 各个部分的编译后,将打包要用到的所有固件移动到 rockdev 目录下,然后打包为完整的 update.img 镜像。 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面,进入之后如下所示: ./buil…

轻量化的yolov8部署到安卓Android手机端

一、pytorch环境配置和yolov8源码安装 首先在电脑上需要配置好pytorch环境,和yolov8源码的下载 然后针对yolov8做自己的轻量化改进 二、下载Android Studio和ncnn-android-yolov8 1. Android Studio官网链接: 下载 Android Studio 和应用工具 - And…

Docker registry镜像仓库,私有仓库及harbor管理详解

目录 registry镜像仓库概述 Docker 镜像仓库(Docker Registry): registry 容器: 私有仓库概述 搭建本地私有仓库示例 Harbor概述 harbor架构 详解构成 Harbor由容器构成 Harbor部署示例 环境准备 部署Docker-Compose服…