各位老铁,大家好~
上周第一届测试开发方向的学员项目竞赛已完成网络投票,并在上周六通过在线直播的方式对其参赛项目做了详细讲解。目前统分员正在计算所有项目组的最终得分。
第一届测试开发方向的总冠军最终花落谁家,让我们在10月27日蜗牛学院第四届程序员节上见分晓吧~
今天这篇文章主要是为第二届Java开发方向学员项目竞赛进行网络评选并投票计分。
目前专家评审团和大众评审团已对成都、西安、重庆三校区参加总决赛的项目小组评分完毕,上海校区将于本周四(10月24日)开始直播评比。
ps:附上学员在线直播的部分截图。
或许有的小伙伴可能会认为占比20%的网络评分并没那么重要,但小编想说的是,有时候看似不重要的那几分,反而最后成了你获奖的关键分。
就像第一届Java开发方向的学员项目竞赛,如果成都校区WoniuTicket项目组最终获得的网络评分不是20分,那么它最终将可能会以2-3分的差距输给西安校区WoniuPark项目组或重庆校区WoniuTicket项目组。
所以网络投票的分数至关重要,在此重申本次投票的计算规则:
(票数/总票平均值)*20
Ps:总票平均值=总票数/参赛项目数;分子大于分母的项目组,即直接获得20分,反之按数据正常计算。
本次投票占总分数20%,快来为你喜欢的作品投上一票吧!
蜗牛拍拍WoniuAuction
项目背景:网上拍卖系统是指通过Internet实施的价格谈判交易活动,即利用互联网在网站上公开发布将要招标的物品或者服务的信息,通过竞争投标的方式将它出售给出价最高或最低的竞标者。其实质是以竞争价格为核心,建立生产者和消费者之间的交流与互动机制,共同确定价格和数量,从而达到均衡的一种市场经济过程。它通过Internet将过去少数人才能参与的贵族式物品交换,变成了每一位网民都可以加入其中的平民化交易方式。网上拍卖不仅是网络时代消费者定价原则的体现,更重要的是拍卖网站营造了一个供需有效集结的市场,成为消费者和生产商各取所需的场所,因此是一种典型的中介型电子商务形式。可参考第四产权、淘宝拍卖等平台,关键角色分为买卖双方和平台。
在该项目下共有4个参赛作品进入了总决赛,详情如下。
重庆校区
项目特点:我们开发的系统与现如今市场上的同类产品相比,开发成本低,收取的手续费低,界面简洁大方,真人客服24小时在线解答处理用户的遇到的问题。交易过程透明直接无黑幕,全网无广告,不仅拥有网页端,也拥有手机端,信息跨平台实时同步更新,大幅度提升了用户体验感。
技术架构:本项目为多模块的Maven项目,通过父工程的pom文件对子工程的Spring Cloud组件进行版本维护与管理。其中Eureka组件实现各个模块的服务注册、发现、熔断、负载、降级等,OpenFeign组件实现各个模块之间的通信与实现负载均衡,Zuul组件提供动态路由功能。采用了websocket实时更新用户的竞价记录,使用Quartz定时任务框架来实现消息和任务的定时发送和完成,优化了用户体验,节省了该项目的人力成本。数据库选择了MySql 5.6版本,ORM框架选择了MyBatis,并使用了Redis实现了热点数据缓存,提高了热点网页的响应速度。前端采用了VUE + BootStarp + Element-UI + sweetalert 等前端框架、插件对网页进行美化。手机端使用了MUI框架,加快了开发速度。
附部分项目交付图-APP版
附部分项目交付图-网页版
项目中的三件小事儿
事一:为了完成手机APP的设计,全组成员在在学校教室熬夜奋战,临近第二天上午上课前终于完成了APP的开发,然后紧接着进行了APP的整合和测试,虽然身心疲惫,但是小组内每个成员都很满足。
事二:前端页面的开发是很枯燥的,有时可能为了调整一个边框的位置以及一个图标对整个页面的协调性而耗费很长的时间,我们之间会开对方的玩笑,给对方起一些褒义的外号(类似前端小王子)来活跃团队的气氛。
事三:由于项目的开发时间紧,任务繁重,小组成员的精神高度紧张,思绪陷入了死胡同,有时会犯一些很”弱智”的错误,这是我们的第一想法就是求教指导老师--苟哥,经过苟哥的检查之后发现了错误的问题所在,导致整个开发过程都充满了苟哥的善意嘲讽。
组员个人心得体会
虽然我们在项目开发过程中走了很多弯路,但是最终还是交出了一个算是完整的项目,当然这都离不开苟老师的悉心教导和同学们的日夜奋斗,在这次项目开发中我学习到了很多东西,很感谢蜗牛学院给我们这次锻炼的机会。——朱红宇
大鹏一日乘风起,扶摇直上九万里。感谢蜗牛学院给的这个“风”。——刘鑫
谦虚是学习的朋友,自满是学习的敌人。——代鹏
这次项目大赛不仅是一场比赛,更是一场基于项目实战的学习。也促进了各校区之间的学习交流。——温亚龙
只要思想不滑坡,办法总比困难多,遇到问题,要多问,多想,就能解决。——卢宏磊
西安校区
项目特点
(1)实时竞价:蜗牛拍拍网项目最大的特点是”实时竞价”,不像业内其他拍卖项目那样,所有参与竞价的人看不到竞价的实时信息,蜗牛拍拍网模拟了生活中多人现场实时竞价的功能!
(2)丰富的报表统计:在后台管理界面首页,从4个不同的维度,分别统计了拍拍网目前的运行状况,协助用户做决策分析。
技术架构
使用了MySql5.5,Mybatis,SpringBoot,Druid连接池;
使用了Shiro权限鉴定框架
前台采用了Vue,并使用前端工程化(nodejs,npm,webpack)相关技术实现了前后分离的SPA单页面应用;
前台使用了iView组件库;
后台采用了layui,BootStrap,JQuery,highCharts,Ztree;
使用了WebSockt技术实现,卖家买家交流,开拍通知,在线竞价;
Ajax使用了当下流行的Axios库;
短信验证码,支付宝接口实现在线付款;
附部分项目交付图-网页版
项目中遇到的困难就是对于git使用出现的问题,有时会出现代码丢失的情况。最严重的是丢失整整1天的代码进度。针对于这种现象,本次的带队老师专门对我们进行了培训讲解:
团队开发时,最好每个组员先在自己的开发分支上完成,确保无误后,再合并到开发分支,当开发分支上测试无误后,最后再合并到主分支。
每次push之前,最好先pull一下其他人的代码。
禁止使用git push -f
组员个人心得体会
学习不是你以为。——张赛
天下大事必作于细,天下难事必做于易。——张杰
不要盲注追求新技术,先把自行车骑起来。——李月茹
西安开发小哥哥小姐姐贼酷,拍拍项目做的贼6。——史童
在思考中,享受开发的乐趣。——刘贵壮
我们程序员从来不看警告。——肖曦
之所以能取得这样的成绩,只是因为我站在巨人的肩膀上,感谢蜗牛学院的所有老师,感谢我的组员,西安蜗牛冲冲冲!——刘通
工欲善其事必先利其器。——郭强
上海校区
项目特点:拍卖平台前台页面用于展示参与拍卖的产品,主要展示产品的图片、名字、起拍价格、起拍时间、围观次数、状态。包括即将拍卖的产品,拍卖中的产品和拍卖结束的产品,拍卖状态会根据时间进行更新。可以根据产品名字,类型或发布地区来进行搜索,搜索结果可以根据围观人数或价格进行排序。通过产品图片可以点击查看产品详情,可以收藏或通过qq分享给朋友,可以设置提醒,在拍卖开始或者结束前1小时发送通知。在缴纳保证金后,可以参与拍卖。
技术架构
整体框架使用springboot;
前端页面使用vue进行数据的双向绑定;
自定义的快速代码生成器;
Mybatis通用Mapper插件;
支付宝和分享插件的使用。
附部分项目交付图-网页版
项目中的三件小事儿
为了写这个项目,项目期间努力钻研,获得很多知识上的补充,让自己感到很充实。
当应用某个插件的时候,找文档,找demo,仿写最终变成自己的东西,在此期间,会有一些从来没有遇到过的问题,而这些可以帮助我们巩固一些我们遗漏的知识。
遇到问题互相帮助,可以在技术研究期间给了很大的灵感,小组成员的各种思想交互在一起,可以帮助我们很快的解决一些技术难点。
组员个人心得体会
通过这次项目,使我对各个项目的功能模块与联结有了更清晰的认识。——郑钊
技术用的好,不如客户体验好!——张灿刚
通过项目练习,认识到自己技术的不足和团队合作能力的缺乏,在立项讨论时沟通交流的不足导致项目基础确定时的漏洞,后期整合问题百出,提升了自己的"百度能力",即自我学习能力,通过百度查找不会或没用过的技术,解决项目难题。——戴楚晨
别太纠结,干就是了。——袁洋
将之前所学的知识大整理,进行一遍融会贯通,加深了对所学知识的理解程度和可以进行应用的场景。——王春磊
经历了这次的项目实践,我开阔了眼界,也试着勇于尝试完全不懂的领域和技术,我也更加清楚不断充实自己的技术是最重要的。——许健
成都校区
项目特点
(1)多端操作:拍卖PC端简单展示商品,并引导用户下载app。手机端有ios端、android端、H5以及微信小程序,充分满足不同用户的不同需求。
(2)功能丰富:本项目除了发布拍品和购买拍品等基础功能之外,还具有丰富的支付接口,如支付宝支付和微信支付、收藏商品、分享商品到微信朋友圈及微博、地图定位及位置搜索、商品状态变更提醒、在线聊天、AI图像识别、语音识别等等功能。
(3)交易安全:从卖家发布拍品到买家成功收货,整个交易易流程完全线上化,由平台进管理和担保,让买卖更安心。
技术架构。
后端技术:后端采用Spring Cloud微服务架构,ORM框架MyBatis 和SpringDataJpa。Redis用于缓存热点信息和验证码,提升系统性能。RabbitMQ用于实现延时消息。WebSocket用于实现站内聊天功能,Shiro用于进行账号的认证和权限控制。JWT用于实现单点登录。
前端技术:手机端应用采用uni-app完成,拍卖网PC端及后台管理用铜使用LayUI框架完成。前后端分离架构
附部分项目交付图-APP版
附部分项目交付图-网页版
项目中的三件小事儿
事一:对客户端情有独钟,抓破脑袋新增各种借口增加用户体验。
为了实现语音识别,我们找了很多接口,最后研究了科大讯飞的语音转文字,一点点调试,总结,测试,部署,目的只有一个,提高客户端易用性。还有就是当时做商品上传的时候想,图片这个需要进行审核一下,不然有些用户抱着侥幸心理上传违规图片,最后接入了百度的AI内容识别,对图像内容识别并反馈,不过用户依然能正常上传进入后台人工审核,这样做是想到机器识别毕竟有误差,反正我前端给你反馈,你能改就改,你觉得没问题我们在进入人工审核。就这样,一点点堆细节,完善功能。事二:小细节引发大问题。
在点击查看拍卖详情,拍卖用户时,发现经弹出层展示的表格的表头与表的主体内容发生了位置交错,原先隐藏的表格显示出来了。第一个项目问题我发现应该是表格渲染问题,就调用弹出层的回调函数将表格的内容重载了。第二个项目问题无论如何调试都没有解决,后百度也一时没有正确的解决方案。于是我就现将该问题放在一边,让后做另一个页面,该页面也有同样的操作但是没有出现项目二问题,于是经过对比两个页面后,发现是原先错误的页面引入了JQuery.min.js。将该js删除后发现问题解决了。但新的问题出现了,没有该js如何发ajax请求?我跟我们组跟我负责同一模块的同学讲了,发现他上个项目也用了Layui框架并且也发送了ajax请求,我们就开始想可不可能是js的位置问题,经过调试后解决了该问题!
事三:上级的紧急任务。
刚开始分析项目需求时,是没有考虑PC端前台的,我跟组员A负责PC后台,其他人都集中在做APP,距离项目结束的前一周,组里突然通知要补做PC前台并交由我一人负责,考虑实际情况并参考了闲鱼网站,我将PC端简化, 只用于展示热点拍卖商品和竞价室,再提供二维码供引导用户下载APP。虽然PC端功能简单,但对于前端,我们一直都是敬而远之的,加上时间十分紧张,所以周末两天我加班加点,从选模板到接口测试,总算顺利完成。
组员个人心得体会
体会合理的团体分工,有效的沟通,是十分重要的,要学会发挥团队的优势。——卢方森
为了客户端用户体验疯狂对自己加需求,头发掉了还会长,知识进了脑子就能持久化了。 ——杨涛
细节决定成败!项目中仅仅是顺序问题就有可能出现大的问题!——邓洋
许多的成败与得失,并不是我们都能预料到的,很多的事情也并不是我们都能够承担得起,但,只要我们努力去做,求得一份付出后的坦然,其实得到的也是一种快乐!——王思婷
收获的喜悦需要用汗水培植,点滴的进步都是信念的彰显。——王朋
该走的弯路其实一米也少不了,bug也是。——-刘辰
清楚的了解自己的能力和效率,合理的规划项目的进度,发现问题及时与团队进行沟通,才能与团队共同进步。——邓国誉
电影票务WoniuTicket
项目背景:目前电影院无自己的订票系统,售票渠道大多基于一些主流的商业平台,与用户无法进行直接连接,缺少互动,很难提升用户消费频率。为了便于营销、提升用户信任度、展现影院更加专业的一面,而不是受限于团购平台,现WoniuTicket将为这些影院提供一套完整的解决方案。
在该项目下共有3个参赛作品进入总决赛,详情如下。
重庆校区
项目亮点
我们重庆校区的电影票务网,以服务质量高,用户玩着爽为目的,开发了购票网站,影院后台,平台后台三个板块,为用户提供了丰富且多样化的服务。
您是否会为购票网站突然奔溃而烦恼?我们使用多注册中心,微服务架构提供稳定的服务器,打消您的顾虑,为您提供优质的服务。
网站首页,我们有预告片,星级评分为用户提供选择影片的参考;有实时定位为用户推荐就近的影院。热映电影页面会为片荒的您带来优质选择。当然我们还提供登陆注册,选片选座,购票改签等一系列完整用户购票功能。
当影院方缴费,我们则会在影院后台为他提供自由度非常高的服务,可以自由管理放映点放映厅,可以自定义影厅座位,也可以自己决定vip的门槛和折扣力度等等,非常的便捷。
技术构架
使用springcloud实现分布式开发,微服务架构,多个注册中心保证项目的高可用;网关filter过滤进行登录验证;
使用springboot,ssm整合来搭建每个模块,依赖交由maven仓库管理;
使用html,css,jquery,vue完成整个前端页面的布局,美化,逻辑处理以及数据渲染;
使用restful风格设计,实现前后端分离;
使用redis实现热点数据的缓存,并完成session共享;
使用mysql实现数据的持久化储存;
使用github做版本控制;
使用定时框架实现订单状态的定时触发;
使用entity模块统一管理实体类,并在其他模块注册调用;
使用Jquery-seat-charts插件和Echarts框架等等;
使用layui框架完成了整个平台后台的开发;
使用mui技术完成手机app端的开发。
附部分项目交付图-APP版
附部分项目交付图-网页版
项目中的三件小事儿
事一:github做版本控制。我们开始使用github时并不熟练,出现了很多的问题,配置不会,邀请成员出问题,甚至因为上传了.idea导致整个项目不能再被其他成员同步,出现了极大的麻烦。但是我们没有一个组员因此而退缩,而是坚守在自己的岗位上,到了地铁快收班的时间也没人离开,有的负责重新备份源码,有的继续编写代码,以防进度被拉下,有的继续研究github注意事项,以免再出现此类问题。最终我们成功掌握了github的使用技巧,并依靠团结一致,保证了项目的按时交付。
事二:分模块开发。因为我们的项目是分布式开发的,每个人都会负责不同的模块,有的是订单,有的是影院等等。我们每个人还会负责不同的前端页面,分别开发,这个时候我们就会用到别人编写的接口,我们凭借及时的沟通,互相的理解,为他人补全接口不完整的功能,克服了分模块开发时交流不及时导致的问题。这让我意识到合作开发项目时,一个队伍气氛的融洽,沟通的及时是多么的重要。
事三:最后,我不得不提到的是,自从这个项目开始,我们就经常会熬夜开发,有的时候甚至会在教室写代码到凌晨五点,然后趴在桌子上短暂的休息一下,然后开始第二天的工作,但是在整个项目期间,我的组员们没有一个人请假退缩,大家都保持着高涨的热情,我的组员陶然堂甚至带病坚持,只为项目的按时且保质完成。最终的结果是美好的,是每个人努力的成果,我的每一位组员都值得我的尊敬,在这里我向他们致谢,辛苦了。
组员个人心得体会
组长我想通宵!通两个好不好?谢谢组长,组长真好!——钱尧
写前端样式的日子要比写后端接口的日子更能体会人间苦乐。——李昕蔚
放弃与坚持只在一念之间,不放弃也是一种成功。——刘涛
路漫漫其修远兮,吾将上下而求索。——冯科
事前谨慎总比事后补救强。——陶然堂
上海校区
项目特点
(1)前端影城界面+用户
针对用户浏览近期上映影片,浏览附近影城,进行购票的业务;
每个网页都有包含导航栏和底部信息栏;
首页用户可以浏览近期正在热映和未来要上映的电影;
电影详情页面除了电影介绍影片相关演员等资料外,还加入了评论功能,可以点击评论,选择星级以及评论内容,实时显示近期五条热评;
电影列表页面可以按照类别分页查看电影;
影城列表页面分页显示附近影城,用户点击后可查看影城具体排片,进行购票;
用户个人中心功能还未完善,目前支持修改个人资料,上传或者选择平台已有的头像,未来会加入,我的评论,观影记录,我的优惠等功能,有待完善。
(2)影城后台
针对目前市场上后台管理项目普遍比较简陋不人性化的特点,设计了比较符合人们操作习惯,简化了很多操作步骤,比如一键复制,一键重置,使工作人员操作方式更加人性化。
(3)产品特点
整体页面看起来简约大气,适合大部分用户,能够帮助用户以及影城方快速匹配双方需求;
产品安全系数高,有完善的认证和授权机制界面美观,操作简易 支持各种第三方登陆;
*用redis实现轻量级倒排索引 完成了关键字模糊查询功能。
技术架构
自定义快速代码生成器;
mybatis+通用mapper插件;
springboot+thymeleaf框架;
FTP上传图片至云端虚拟机;
前端页面采用 Vue + Bootstrap + layerUI + layer.js+Shiro 权限控制保护应用程序的安全;
Redis 缓存数据减少数据库访问压力;
第三方登陆接口集成以及异地登陆检测;
百度api加载地图显示,修改地址时自动更新地图;
使用聚合数据短信验证接口,实现短信验证登录;
使用filter过滤数据库状态值,实现前端状态显示;
使用iframe实现子界面小窗口切换;
使用tab导航栏实现前端不刷新切换页面。
附部分项目交付图-网页版
项目中的两件小事儿
事一:前期设计数据库,需要根据实际业务应用情景,生活经验,以及参考成熟的购票网站,以及要考虑到需要加入的功能点,去设计表结构,这里需要耗费一些时间,而这个阶段相对比较抽象,大家一起集思广益下,完成设计。
事二:星期天的早上,王X向以前一样早早来到教室/本来想打开窗户透气,余光一瞥,发现角落好像躺了一个人,一回头发现原来后排的瑜伽垫上一个人在睡觉,仔细一看原来是同组的柯X。他昨晚改bug改到三点……,就直接在教室睡下了。
组员个人心得体会
写项目就像盖楼,设计好了,良好的执行能力保证项目进度,自身代码能力,决定项目是否踏实,代码是否稳定,好的团队协助,决定项目的上限。——姜士成
在项目中发现自己有不少知识点还没有掌握, 还需要习,这段时间对于bootstrap和一些其他的知识点也加深了不少,我爱学习,痛并快乐着。——黄凯生
通过这次项目,我知道了做一个项目不是一个人就能完成的,需要组员之间的配合。——汪甜
通过这次项目,使我对编程有了进一步的认识,做项目最重要的不是自己将项目做完就行了,而是要注重团队的合作。——何立
参与项目中,才发现自己各个方面的不足,知识体系的零散现况。后将勤加勉励,实践前行。——贾豫川
刚刚搞懂的并且用在项目上的知识点,一定要做笔记,注释一定要写,不然过两天,自己写的代码也会陌生的。——沈鹏凯
#虽然上海校区最终只选出了一个项目组参加本次的总决赛,但还有其他参赛小伙伴想分享一下自己的感悟,在此一一列出。
不积硅步无以至千里。——柯金经
要学习的还有很多路还很长。——王荣
能想到的功能都可以实现,所以要有梦想。——叶海鹏
要不断学习,不断训练。——王毅
团队合作很有激情,解决问题又快又好。——周耕旭
在琢磨新功能的时候感到很兴奋。——刘琦平
成都校区
项目特点
相对于市面上的同类电影院产品,我们在以下改进:
简化了登录的跳转。
优化了操作的步骤,增强用户体验。
廉价的价格,即可获取优质的服务。
响应式的页面,即使在手机,平板也不会减损用户的体验和系统的稳定性。
技术架构
我们团队采用了当前行业中热门微服务架构,各个微服务可被独立部署,各个微服务之间是松耦合的,可以视作为独立的业务。适用于我们这种小型团队开发的项目;
Swagger:用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新,生成API接口文档;
Layui:采用自身模块规范编写的前端 UI 框架,它遵循原生的 HTML/CSS/JS 书写方式。它虽然外在极简,但是内容丰富,里面包含众多组件从核心代码到 API 都非常适合界面的快速开发;
Springcloud:微服务开发;
Shiro:认证,授权,会话管理和加密;
Redis:缓存数据减少数据库访问压力;
RabbitMQ:实现延迟队列,支付的定时功能;
Mybatis:通用Mapper快速开发;
Bootstrap:模块化 前端框架。
附部分项目交付图-网页版
项目中的小事儿
整个开发过程虽然繁忙却也很充实,在和组员说说笑笑中开发一步步发展。
前端开发对于Java开发的我们来说真的是考验天赋的一件事。看别人做到页面是那么的好看,和精妙,一旦自己来做就变了味道。像是在玩俄罗斯方块,方方方。有的组员就是善于发现前端之美,但是有的组员就是我也不得不承认我比你好看哦。当我们在互相调侃时总是很开心。
无论开发过程是多么的紧张和急促,我和我的队友都怀着热切和乐观的心态来迎接每天的考验和Exception。虽然有时崩溃,但是睡一觉又是一条好汉。不惧艰险,乐观面对使我们,在开发过程中最珍贵的收获。
组员个人心得体会
乐观开朗,不惧艰险,乐于专研的性格才能让我们的事业长盛不衰。--高福旺
一加一的结果大于二,团队协作能激发出团队成员不可思议的潜力,让每个人都能发挥出最强的力量。--王童
人与人之间可以互相体谅,和谐共处,但是程序与程序之间不会体谅,不行就是不行。--董国策
程序永远不会错,错的永远是程序员--成泳霖
项目中无论遇到什么困难,都可以用睡觉和百度解决--朱玉豪
做项目最重要的就是团结,如果不和终究做不出出色的产品---李炳宏
欣赏完作品,接下来为你喜欢的作品投上一票吧~
注:投票截止时间为2019年10月25日中午12:00点整。