【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭

基于Python Flask的上海美食信息与可视化宣传网站(获取方式访问文末官网)

    • 一、项目简介
    • 二、开发环境
    • 三、项目技术
    • 四、功能结构
    • 五、运行截图
    • 六、功能实现
    • 七、数据库设计
    • 八、源码获取

一、项目简介

随着大数据和人工智能技术的迅速发展,我们设计并开发了一款基于大数据的上海美食系统。该系统旨在为用户提供全面而个性化的美食服务体验。在这个时代背景下,人们对美食的需求不仅停留在简单的满足口腹之欲,更加注重个性化、健康、便捷的消费体验。

系统的核心功能包括数据采集、套餐推荐、留言、用户管理和数据管理等。通过数据采集功能,我们从各个数据源收集上海地区的美食店铺信息和店铺发布的套餐。结合先进的推荐算法和用户偏好,我们为用户提供个性化的套餐推荐服务,使用户能够快速找到符合自己口味和需求的美食选择。

同时,用户可以通过系统进行留言,分享自己的用餐体验以及对系统的建议。用户管理功能确保了系统的安全性和可靠性,包括注册、登录、个人信息管理等功能。

数据管理功能是系统的重要组成部分,通过它可以对美食店铺信息和套餐数据进行增删改查操作,以保证数据的完整性和一致性。此外,系统还提供了多维度的数据管理,包括美食数据管理、套餐数据管理和留言数据管理,方便管理员对数据进行维护和管理。

借助于现代技术的支持,我们采用了Flask框架构建系统的应用程序层,通过MySQL数据库进行数据存储,并运用了数据分析和推荐算法来实现个性化的套餐推荐功能。通过友好的用户界面和灵活的功能,系统旨在为用户提供便捷、高效的美食选择和消费体验。

综上所述,基于大数据的上海美食系统将数据采集、个性化推荐、用户互动和数据管理等功能相结合,为用户提供了全面而个性化的美食服务。无论是上海本地居民还是来上海旅游的游客,都能通过这个系统轻松找到适合自己口味和需求的美食选择,享受美食带来的愉悦和满足。

二、开发环境

开发环境 版本/工具
PYTHON 3.6.8
开发工具 PyCharm
操作系统 Windows 10
内存要求 8GB 以上
浏览器 Firefox (推荐)、Google Chrome (推荐)、Edge
数据库 MySQL 8.0 (推荐)
数据库工具 Navicat Premium 15 (推荐)
项目框架 FLASK

三、项目技术

后端:Flask、PyMySQL、MySQL、urllib

前端:Jinja2、Jquery、Ajax、layui

四、功能结构

数据采集功能:美食店铺信息采集,从【美团网】中获取美食店铺的相关信息,包括店铺名称、地址、评分等,并将其存储到数据库中。主要使用爬虫技术对【美团网】店铺信息进行数据采集。

套餐推荐功能:用户套餐推荐根据套餐的评分、价格等信息进行排序推荐(因为无法采集用户行为数据,所以无法做一些只能算法进行推荐,如果可以采集用户相关的行为数据可以进行协同过滤等算法进行推荐)。

美食数据管理:包括对美食店铺信息的增加、修改、删除和查询功能,以及对店铺信息的名称、均价、评分等属性的管理。

套餐数据管理:包括对套餐信息的增加、修改、删除和查询功能,以及对套餐的图片、价格等属性的管理。

留言功能:允许用户在系统中留下评论、建议等反馈信息,并提供相应的管理功能来处理留言数据。

用户管理功能:包括用户注册、登录、个人信息管理等功能,用于管理用户的身份和权限,并确保系统的安全性和可靠性。

【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第1张图片

本项目配置了相关论文说明书:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第2张图片

五、运行截图

信息推荐网站首页:

套餐推荐页面:

留言版:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第3张图片

后台登录:

后台注册:

后台管理首页:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第4张图片

用户管理:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第5张图片

公告管理:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第6张图片

美食数据-店铺管理:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第7张图片

套餐管理:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第8张图片

留言管理:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第9张图片

系统爬虫日志管理:
【Python原创毕设|课设】基于Python Flask的上海美食信息与可视化宣传网站项目-文末附下载方式以及往届优秀论文,原创项目其他均为抄袭_第10张图片

六、功能实现

网站首页数据加载核心功能接口层实现代码:

#系统默认路径前台跳转

@app.route('/')

def main_page():

  random_data = shop_service.get_random_shop()

  price_data = shop_service.get_price_shop()

  score_data = shop_service.get_score_shop()

  return render_template("main.html", random_data=random_data, price_data=price_data, score_data=score_data)

网站首页数据加载核心功能业务逻辑层实现代码:
#查询首页随机商铺处理

def get_random_shop():

  sql = "SELECT * FROM shop order by rand() LIMIT 9"

  sqlManager = SQLManager()

  data = sqlManager.get_list(sql)

  sqlManager.close()

  return data
#按最低价格推荐**

def get_price_shop():

  sql = "SELECT * FROM shop order by avgPrice LIMIT 9"

  sqlManager = SQLManager()

  data = sqlManager.get_list(sql)

  sqlManager.close()

  return data
#按最高分推荐

def get_score_shop():

  sql = "SELECT * FROM shop order by avgScore desc LIMIT 6"

  sqlManager = SQLManager()

  data = sqlManager.get_list(sql)

  sqlManager.close()

  return data

套餐数据管理数据加载并分页接口实现层代码如下:

#美食商铺数据分页**

@app.route('/list/shop', methods=['get'])

def shop_list():

  page = request.args.get('page')

  limit = request.args.get('limit')

  where = request.args.get('searchParams')

  result = shop_service.select_shop_list(page, limit, where)

  return result.get()

套餐数据管理数据加载并分页业务逻辑层代码如下:

#分页数据
def select_shop_list(page, limit, where):

  page, limit, where = get_page_start(int(page), int(limit), where)

  params_sql = get_search_params(where)

  data_sql = "SELECT * FROM shop WHERE 1=1 " + params_sql + " ORDER BY id DESC LIMIT %s,%s"

  count_sql = "SELECT COUNT(id) as i FROM shop WHERE 1=1 " + params_sql

  sqlManager = SQLManager()

  data = sqlManager.get_list(data_sql, (page, limit))  **#** **获取分页数据**

  count = sqlManager.get_one(count_sql)['i']  **#** **获取数据总数**

  shop = get_class_list(data, Shop)

  page_result = PageData(count, shop)

  return page_resul

七、数据库设计

数据库:gastronomic_system

表名:goods

字段名称 数据类型 是否必填 注释
id int(11) 商铺商铺信息
poiId varchar(50) 商铺ID
shopId int(11) 商铺
title varchar(255) 商品名
price decimal(10,2) 商品价格
soldCounts int(11) 销量

表名:message

字段名称 数据类型 是否必填 注释
id int(11) 留言
content longtext 留言内容
contact varchar(255) 联系方式
name varchar(255) 称呼
create_time datetime 留言时间
status int(11) 状态(0未处理,1已处理)

表名:user

字段名称 数据类型 是否必填 注释
id int(11)
name varchar(255) 用户名称(供应商名称)
account varchar(255) 用户账号
password varchar(255) 用户密码
company varchar(255) 企业名称
mail varchar(255) 邮箱
type int(11) 0管理员,1普通用户
status int(11) 0禁用1启用

八、源码获取

源码、安装教程文档、项目简介文档以及其它相关文档已经上传到是云猿实战官网,可以通过下面官网进行获取项目!

你可能感兴趣的:(是云项目,原创设计,python,flask,美食,毕业设计,课程设计)