java开发的美食菜谱网

news2024/9/21 4:23:03

简介

Java开发美食菜谱分享网站,健康专题分享,菜谱网源码。用户可以发布菜谱,可以评论,可以发布关于健康饮食的文章,还可以查看自己的主页。管理员可以管理所有的数据,审核数据。

演示视频 https://www.bilibili.com/video/BV1GS4y177LA/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156

角色

管理员,普通用户

技术

Js+css+ajax+springboot+pagehelper+kindeditor编辑器+jquery+bootstrap

前台

首页 二级导航,图片轮播(静态),展示菜谱列表、健康专题列表、美食达人列表展示,关键词搜索,收藏
菜谱列表 根据关键词搜索,根据制作难度,工艺,口味,制作时间进行赛选。分页展示,收藏
菜谱详情 展示用户昵称头像,菜谱制作步骤等其他信息,一步加载评论,可以删除自己的评论,右边是相关菜谱推荐,收藏
健康专题列表 根据关键词搜索 ,分页展示,收藏
健康专题详情 展示用户昵称头像,专题内容等,一步加载评论,可以删除自己的评论,右边是相关推荐,收藏
美食达人列表 分页展示用户的基本信息,以及用户所发布的菜谱专题等,根据用户昵称搜索
个人主页 用户发布的菜谱,专题分页展示,右边用户基本信息展示
登录
注册

个人中心

我的菜单 分页,根据标题查找,编辑,删除,添加,上传封面和制作流程图片
我的健康专题 分页,根据标题查找,编辑,删除,添加,上传封面和内容编辑(用富文本编辑器)
我的收藏 分页,根据标题查找,取消收藏
我的评论管理 分页,根据标题查找, 删除
基本信息编辑 上传头像,编辑其他信息
修改密码
退出账号

管理员功能

登录
修改登录密码
退出账号
一级菜单 分页,编辑,添加,根据名称查询,删除
二级菜单 分页,编辑,添加,根据名称,一级分类查询,删除
三级菜单 分页,编辑,添加,根据名称,一级分类,二级分类查询,删除
一级工艺 分页,编辑,添加,根据名称查询,删除
二级工艺 分页,编辑,添加,根据名称,一级分类查询,删除
用户管理 分页,编辑,添加,根据昵称,状态查询,禁用账号,启用账号
菜谱管理 分页,编辑,添加,根据标题,状态查询,审核菜谱
健康专题管理 分页,编辑,添加,根据标题,状态查询,审核文章

部分截图

在这里插入图片描述
在这里插入图片描述

开题报告

课题名称 美食平台的设计与实现
学 院 Xxx 专业班级 xx
学生姓名 xx 学 号 xx
指导教师 xx 单位/职称 xx
一、课题背景与意义
民以食为天,贯穿着中华经久不衰的历史长河之中。自人类诞生以来,寻求食物的欲望,就成为人类历史发展进程中的一部分。新石器时代,人类从事劳动的活动主要为采集野果和狩猎,人们在生产活动中逐渐学会了种植作物和驯养动物。从夏商周时期(公元前2l世纪)一19世纪。获取食物的能力比原始时期有很大提高,生产工具已由石器过渡到金属时代。种植作物和养殖技术进一步发展,但此时食物生产工具简单,产品单一,食物生产能力低下,抵御自然灾害能力弱,获取食物的数量不稳定,仍以获取天然食物为主,基本没有食品加工产品。而今,人类食物种类逐步向着广谱性发展。人们通过食用多种多样食物,从中吸取必要的热量、蛋白质、脂肪、各种维生素和各种微量元素,以维持人体正常生理功能。在吃的种类和方法上,美食种类的发展不可谓不是五花八门、琳琅满目。随着文明的进步、社会的发展,人们的生活方式也随之变化,网络的出现极大改变了人们的生活方式。越来越多的人享受着网络的便捷、不断提高生活品味的同时,也越来越加关注安全和健康。近几年不论是层出不穷的“地沟油事件”还是后来的“酸汤子事件”所暴露的饮食安全问题,不断刺痛人们的神经。这也使得,“自给自足”在年轻群体中越来越被推崇。
由于消费理念的差异,年轻人中自己做饭的只占很少比例,加之来自各个方面的压力。年轻人却逐步被这种生活变得更加慵懒,如今,在疫情的大环境下减少不必要的外出活动,居家生活已成为一种常规态势。美食平台的出现和构建,网站在成长的同时也在助各位朋友能够享受美食的文化,对传播和弘扬美食文化进行继承和发展,为美食业进入网络化发展提供一个良好的支撑。本网站的目的是为美食爱好者搭建一个可以更好的了解美食渊源的平台,为上班族搭建一个方便快捷的吃饭通道,为蜗居的人们提供方便合理的饮食搭配。
二、国内外研究现状
美食互动分享在国内发展之前,在美日等国家有了较为完整的产业模式。这种模式是一种以美食分享为基础,通过搜索、电子商务、广告投放等多种形式形成持续盈利的模式。在国外,比较有名的美食分享类的网站有美国的Allrecipes、Yummly和日本的Coodpad。美国的Allrecipes以及其它众多面向民众的美食网站慢慢开始获得人们的关注和认可,并在其拥有大量美食数据之后再扩展分享平台,以更生活化的方式快速发展壮大起来。而作为垂直化美食搜索弓|擎的Yummly和前者相比上市时间要稍晚一些(于2010年8月上市),由于它功能上的个性化的搜索和结合社交网络等方面具有较大的优势,访问量以及流量排名上升速度都明显加快。而在日本,Coodpad是在目前最受日本民众青睐的美食网站之一,已在2009年在东京证交所上市。
伴随着国外美食互动分享的发展,国内的美食网站也逐渐有所好转,其中发展较好具有中国特色的美食网站的有美食杰、豆果、菜婆婆等。尽管目前大多数此类网站已经专注于提高美食的数量和广度,却仍存在一定的缺陷。一是,这些具有传统特色的美食网站对于用户需求的理解和定位还不够明确,因而功能没有新意,用户量也很有限。二是,这些网站缺乏和用户的互动交流,其在内容和质量没有吸引力且难以使用户出现使用黏性,发展的速度也变得较为缓慢。三是,研究表明大多数民众对食物的营养成分及恰当的搭配方式并不了解。而值得一提的是,近些年以来国内美食网站开始向着国外美食网站的方向发展,慢慢引入社交网络而转型。例如豆果网就采用美食互动分享的方式,和广告商合作,在吸引更多客户的同时也在提升用户的使用粘性做出了自己的贡献。
三、研究内容及拟解决的关键问题
1.研究内容:
(1)该平台的开发技术
本次原型设计中使用MySQL作为本系统数据库系统。主要采用的框架有:Spring Boot底层框架,使用IDEA作为系统开发工具。
(2)规划平台的功能模块
美食平台为使用者提供了丰富的操作功能,设计并实现一个基于Web的美食平台,目的在于解决传统美食网站中的许多问题,如菜谱安全、且容易出错;收集完成后由于菜谱的多种多样造成了菜谱的混乱,人力和物力的消耗。
管理员功能模块:管理员通过对系统的用户模块和菜谱信息模块进行管理,管理用户信息的增加、删除、修改以及对菜谱信息的查看、审核、删除,并且对反馈有误的信息进行修改。
用户功能模块:用户主要是面向广大网民使用,网民通过输入已存档的会员账号、电话号码及密码进行登录。用户通过登录后,可以对个人菜谱的信息进行维护,以及查看全部菜谱信息和对有误的菜谱信息进行反馈,用户无法对其它用户的菜谱信息进行增加、删除和修改。
(3)该平台的搭建
系统的设计主要分为前后端两部分,系统采用Spring Boot框架中的thymeleaf来实现系统的页面。后端采用到的框架有:Spring Boot底层框架,使用IDEA作为开发工具,数据库使用MySQL。通过熟练应用各种框架技术和开发软件,才能顺利搭建开发环境,进行系统的整体设计、调试和测试工作。
2.拟解决的关键问题:
(1)如何让用户使用起来有更好的体验?
(2)用户的权限如何去管理?
(3)菜谱信息如何管理?
3.解决思路:
(1)采用Spring Boot框架实现系统的页面,使系统用起来更加简单明了。
(2)通过将用户的级别分为管理员拥有系统的所有权限,游客和注册会员拥有系统的部分权限。
(3)通过将美食平台信息划分成模块,然后分别对每个模块进行管理。管理员可以管理所有的用户和菜谱信息,游客仅可以浏览菜谱信息等,注册会员可以对其它用户的菜谱信息进行查看,但不能进行管理。
四、研究方法与进度安排
1.研究方法
在设计过程中,综合采用了多种研究方法。从前期调研到确定设计主题,从系统功能分析到项目设计和测试,运用研究方法如下:
(1)调查法:通过对美食平台情况的调查分析,采用问卷调查法,通过收集用户问卷,然后对问卷进行回收整理,统计分析。
(2)文献研究法:查阅现有的资料以及文献,对美食平台方面的资料进行了解,对系统所用到的相关技术资料以及书籍进行查阅并研究,最终确定系统的实现方案。
(3)功能分析法:通过分析系统的功能及其作用进而认识系统的特性及内部结构,从而更有效地应用该系统,充分发挥其作用。
(4)经验总结法:通过对实践活动中的具体情况,进行归纳与分析使之系统化、理论化,完成本次系统设计。
2.进度安排:
2020.12.19-2021.3.8:毕业设计准备阶段,内容包括毕业设计相关资料的整理与收集,毕业设计相关技术准备,开题报告的撰写,开题答辩的前期准备。
第1周(3.8-3.12)收集、查阅并整理资料,撰写开题报告;完成开题答辩;完成课题的需求分析,撰写需求分析报告。
第2-3周(3.15-3.26)完成系统的总体需求及各功能模块的详细需求。
第4-7周(3.29-4.23)完成系统的总体设计和详细设计;完成原型设计;完成数据库设计。实现系统各功能模块的编码与调试;制定测试方案,编写测试用例,对系统功能和性能进行测试并完善。
第8周(4.26-4.30)提交相关材料,中期答辩。完善毕业设计,根据中期检查结果进一步完善和优化毕业设计。
第9-11周(5.3-5.21)确定毕业设计报告的整体思路和主题内容。根据毕业设计过程撰写初稿,并对设计内容进行测试、优化和验证。对毕业设计报告初稿进行修改,按照撰写规范和要求修改格式;提交毕业设计报告初稿和第二稿。
第12周(4.24-5.28)指导教师对毕业设计报告进行评阅。对毕业设计报告进行查重。确定毕业设计报告终稿;根据查重和评阅给出的意见,继续修改毕业设计报告。
第13-14周(5.31-6.11)查重通过后,交评阅教师评阅。制作毕业答辩PPT、展示设计成果、毕业设计答辩,提交答辩PPT。
第15周(6.14-6.20) 提交毕业设计全部材料,评选优秀毕业设计。
五、主要参考文献(其中外文文献不少于1篇)
[1]王越. JAVA编程语言在计算机软件开发中的应用[J]. 电子技术与软件工程,2019(01):35.
[2] 张恒,李金靖.java web动态网站开发[M].人民邮电出版社,2018.
[3]苟文博.于强.基于MySQL的数据管理系统设计与实现[J].电子设计工程,2017,(06):62-65.
[4]Edward Crawley/ Bruce Camerron. 系统架构[M].机械工业出版社,2017.
[5]马建红. JSP应用与开发技术[M].北京:清华大学出版社, 2014:6-19.
[6]王春玲.数据库原理及应用教程[M]…上海:电子工业出版社, 2013:12-22.
[7] 王珊,萨师煊.数据库系统概论(第四版).高等教育出版社,2006.5.
[8] 杨小平.《Java项目案例导航》.第1版.科学出版社,2003.
[9]张孝祥.深入Java Web开发内幕一一核心基础[M]. 北京:电子工业出版社, 2006:87-113.
[10]Baron,王小东.高性能MySql [M].北京:电子工业出版社, 2010:6-16.
指导教师意见:

指导教师签字:
年 月 日
开题审查小组意见:

组长签字:
年 月 日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS机器人底盘坐标像素变换

对于ROS小车底盘地图数据需要知道的点 1.整幅地图处于第三象限 2.坐标值代表距离,单位米。 3.分辨率单位(米/像素) 因此通过地图坐标得到像素坐标的办法: 像素坐标(实时坐标-初始坐标)/分辨率 实时坐标的获取: 触发条…

20230102单独编译Toybrick的TB-RK3588X开发板的Android12的内核【失败】

20230102单独编译Toybrick的TB-RK3588X开发板的Android12的内核【失败】 现阶段已经验证通过的编译指令: 直接使用build.sh编译了。 rootrootrootroot-adol-ADOLBOOK-I421UAY-ADOL14UA:~/toybrick3588_discrete$ source build/envsetup.sh rootrootrootroot-adol-A…

windows下编译opencv_contrib

文章目录基本环境二. 准备1. 下载所需各软件的安装文件2. 安装所需软件三.编译opencv步骤基本环境 cmaker:3.22.0vs2019:16.11.10CUDA:11.4.1cudnn:8.2.4opencv_source:4.5.4opencv_contrib:4.5.4python&a…

给程序员友人,2022投资总结的6000字评论

程序员友人的2022投资总结 以下是我的评论、回复。 友情提示:不好意思,长篇大论了,先长篇铺垫,再到正题。 下午说道:以我的最新投资原则方法,对你的持股情况,略显忧虑。 “一直放心不下”&#…

Ubuntu 18.04使用CMake编译可执行文件、动态链接库

目录准备新建文件编辑源文件编译生成可执行文件编译生成动态链接库准备 新建文件 在开始之前,我们先准备一个项目所需要的基本结构。 新建一个项目的文件夹test_so在项目文件夹中新建一个src文件夹存放源代码(并新建一个test.cpp文件)&…

基于 Prometheus 的监控平台简介

1. Prometheus 体系架构简介 Prometheus 是 CNCF 基金会的一款开源产品,主要用做监控系统,通常用来和 Zabbix 等监控系统做比较,以其简单易用、架构灵活著称。整个 Prometheus 的架构如上,分为几个重要的部分: 指标收…

Kubernetes:Ingress

文章目录1、安装 Ingress 控制器2、Ingress 扇出3、基于名称的虚拟托管4、Ingress TLSIngress 是一组路由规则,公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 Ingress 控制器是一组 pod,负责通过负载均衡器来解析 Ingress 路由规则,将请…

序列到序列学习(seq2seq,BLEU)

根据“编码器-解码器”架构的设计, 我们可以使用两个循环神经网络来设计一个序列到序列学习的模型。 在实现编码器和解码器时,我们可以使用多层循环神经网络。 我们可以使用遮蔽来过滤不相关的计算,例如在计算损失时。 在“编码器&#xf…

crackme01——Acid_burn

最近对逆向稍微有点兴趣,自学了一点。写这个文章主要用于记录学习的过程。 首先看一下这个程序,其实就是个简单的比对程序,主界面按左侧按钮进入Name Serial界面,点击【Check it Baby】,则弹出窗口【Sorry, The seria…

[Java]JDBC学习笔记(尚硅谷康师傅JDBC)

文章目录🥽 视频链接及资源下载🥽 JDBC简介🥽 JDBC程序访问数据库步骤🥽 获取数据库连接🌊 导入jar包🌊 Driver 接口🌊 JDBC URL🌊 方式1:🌊 方式2&#xff1…

educoder数据结构与算法 线性表 第2关:实现一个链接存储的线性表

本文已收录于专栏 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲 目录 本文已收录于专栏 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲 🍐任务描述🍐 🍐相关知识…

Java基础学习笔记(九)—— 常用API(2)

常用API1 Math类2 system类3 Object类3.1 概述3.2 常用方法3.3 常见面试题4 Objects类5 BigDecimal类5.1 构造方法5.2 常用方法6 时间日期类6.1 Date类6.2 SimpleDateFormat类6.3 JDK8新增日期类1 Math类 Math 包含执行基本数字运算的方法 Math中方法的调用方式:M…

Markdown 使用语法(详细)

想要学习Markdown,这篇文章就够了。 Markdow简介 Markdown 是一种轻量级标记语言,创始人为约翰格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML&…

IEEE期刊投稿流程

一、注册过程 1.1、确定期刊。 首先可以通过IEEE搜索需要投稿的期刊(以TMC为例),然后点击Submit Manuscript ,进入ScholarOne主页 1.2、账号注册。 进入到ScholarOne之后,若没有注册过需要先注册一个账号。 1.3、创建账户。 点击Create an Account&a…

【LeetCode每日一题】【2023/1/2】1801. 积压订单中的订单总数

文章目录1801. 积压订单中的订单总数方法1:模拟优先队列part1priority_queue的使用part2求余代码1801. 积压订单中的订单总数 LeetCode: 1801. 积压订单中的订单总数 中等\color{#FFB800}{中等}中等 给你一个二维整数数组 orders ,其中每个 orders[i] …

基于springboot+Vue学生宿舍管理系统(程序+数据库+文档+代码解读)

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

使用Cramer-Rao和Athley边界分析到达角阵列的质量(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 此代码用于使用Cramer-Rao和Athley边界分析到达角阵列的质量。 📚2 运行结果 🎉3 参考文献 [1]王凯欣…

感谢、感恩与CSDN结缘的第1498天

导读:2023年1月1日,这是本人加入CSDN的1498天,还记得2018-11-26是注册加入CSDN的第一天,当时的初心就是单纯想作为一名普通的IT人,随着不断打拼职场岁月流逝,总想沉淀留下点东西,即使再平凡也总…

【数据集8】全球人口数据WorldPop详解

全球人口数据WorldPop WorldPop是由南安普顿大学在2013年10月发起的全球人口数据评估。与LandScan数据相比,这个数据涵盖的数据集的社会经济属性更多一些,比如包括了年龄性别结构、出生率、人口流动、航班联系等数据,可参见下图。 官网地址-…

网络信息安全-图像隐写与检测综述

任务目标: 本选题需要学习经典的图像信息隐藏算法,包括基于空域的隐写算法和数字水印算法。 接着你将使用某种编程语言实现这些算法,实现在图片中嵌入一些信息,例如字符串和一些 文件。除此之外,还需要尝试一些基础的…