旅游平台day01

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 跨项目配置共享

相关推荐
科技每日热闻29 分钟前
绿地会展酒店旅游一体化模式落地 2026文化破局开疆盛典亮相三甲港
旅游
MIXrer1 天前
商场团建聚会选什么?百慕大冒险比单人VR好在哪
vr·旅游
limit00755 天前
公开 WMTS / XYZ 瓦片接入 Cesium:6 类常见问题与排查顺序
chrome·低代码·arcgis·web3·旅游
MIXrer8 天前
场馆引入沙盘赛车,为什么能成为第二消费场景?
汽车·旅游·娱乐
考研保研资料分享8 天前
2022旅游管理跨保华东师大人文地理:五场面试与择校复盘
面试·旅游
Wx-bishekaifayuan16 天前
springboot铜仁非遗之家76938-计算机课程设计、毕业设计
java·spring boot·后端·spring·django·课程设计·旅游
seconp16 天前
基于Spring Boot和Vue 3的智慧旅游网站:住宿预订、行程规划与千问接入
vue.js·spring boot·毕业设计·软件工程·课程设计·旅游·毕设
杨超越luckly16 天前
国庆V型、春节迁徙、五一升温:节假日数据里的中国旅游
agent·旅游·数据可视化·节假日·cpi·国定假日
Wx-bishekaifayuan18 天前
springboot桂味美食分享系统40540-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
初学者↑18 天前
知识图谱+智能体的智慧旅游问答系统
人工智能·知识图谱·旅游