基于Springboot+Vue的旅游平台简单设计实现

前言:大学本科时光结束啦,几年的时光确实让我了解学习到了许多计算机相关知识,但真正的让我写出来,又好像觉得自己什么也没学到,没什么值得写的。那就写一下这个速成的毕设吧。

一、项目设计技术概述:

注:项目采用前后端分离的模块化设计
项目主要技术:Springboot、Vue、MyBatis-Plus、Elasticsearch、Redis、MySQL、MongDB.

二、项目结构概述

基于Springboot+Vue的旅游平台简单设计实现_第1张图片

三、项目功能概述

前端功能主要分为五个方面:
1、门户首页
2、用户相关
3、目的地相关
4、攻略相关
5、游记相关

后端功能主要分为四个方面:
1、目的地管理
2、攻略管理
3、游记管理
4、广告管理等

四、项目表设计

项目中的表大概有六类表,分别对应上面的主要功能。最多的当然是攻略与游记相关的表。
比如与攻略有关的部分表设计如下:基于Springboot+Vue的旅游平台简单设计实现_第2张图片
基于Springboot+Vue的旅游平台简单设计实现_第3张图片基于Springboot+Vue的旅游平台简单设计实现_第4张图片

五、项目页面部分设计

基于Springboot+Vue的旅游平台简单设计实现_第5张图片
基于Springboot+Vue的旅游平台简单设计实现_第6张图片
基于Springboot+Vue的旅游平台简单设计实现_第7张图片
基于Springboot+Vue的旅游平台简单设计实现_第8张图片
基于Springboot+Vue的旅游平台简单设计实现_第9张图片
基于Springboot+Vue的旅游平台简单设计实现_第10张图片

基于Springboot+Vue的旅游平台简单设计实现_第11张图片

六、项目推荐功能实现

项目采用基于遗传算法的NSGA-II算法,解决了多目标优化问题。

/*
 * This code / file / algorithm is completely free to use and modify as necessary.
 * Any attribution is welcome and highly appriciated.
 */
package io.onclave.nsga.ii.algorithm;

import io.onclave.nsga.ii.api.*;
import io.onclave.nsga.ii.datastructure.Population;
import org.jfree.ui.RefineryUtilities;

import java.io.IOException;

/**
 * This is the starting point of the main NSGA-II algorithm.
 * Run this class to get the desired output.
 * 
 * @author  Debabrata Acharya 
 * @version 2.0
 * @since   2.0
 */
public class Algorithm {
    
    public static void main(String[] args) throws IOException {
        
        Configuration.configure();
        
        GraphPlot multiPlotGraph = new GraphPlot();
        
        Reporter.reportInitialParentPopulationGeneration();
        Reporter.reportGeneration(1);
        
        Population parent = NSGAII.preparePopulation(Synthesis.syntesizePopulation());
        Population child = Synthesis.synthesizeChild(parent);
        Population combinedPopulation;
        
        for(int generation = 1; generation <= Configuration.GENERATIONS; generation++) {
            
            Reporter.reportGeneration(generation + 1);
            
            combinedPopulation = NSGAII.preparePopulation(Synthesis.createCombinedPopulation(parent, child));
            parent = NSGAII.getChildFromCombinedPopulation(combinedPopulation);
            child = Synthesis.synthesizeChild(parent);
            
            multiPlotGraph.prepareMultipleDataset(child, generation, "gen. " + generation);
        }
        
        Reporter.reportGraphPlotAlert();
        Reporter.render2DGraph(child);
        
        /**
         * the plotted and rendered chart/graph is viewed to the user.
         */
        multiPlotGraph.configureMultiplePlotter(Configuration.getXaxisTitle(), Configuration.getYaxisTitle(), "All Pareto");
        multiPlotGraph.pack();
        RefineryUtilities.centerFrameOnScreen(multiPlotGraph);
        multiPlotGraph.setVisible(true);
        
        Reporter.reportAlgorithmEnd();
    }
}

你可能感兴趣的:(JAVA,java)