毕设开源了,126个star,39个fork

毕设题目

软件工程专业,学校给的毕设题目是实现一个电影院订票系统,如图。 前端

题目
嗯,题目一看很简单,其实就是实现一个web版的影票在线订票系统罢了,所以当天接到毕设后的我就大刀阔斧的准备开干了。

技术方案选择

先说个大前提:咱们学校评比优秀毕业生的硬性条件之一是毕设必须拿到良以上。vue

从题目分析来看其实语言的选择上来看是要使用JSP或者.net技术,可是做为一个迫切想要拿到优秀毕业生的人来讲【其实想装xヾ(≧O≦)〃嗷~】,天然不能使用这些比较古老的技术了,虽然我自身是一个Java系的支持者,可是为了最后在毕设答辩的时候能够在技术相关的选择上给评委一种眼前一亮的感受,最终我选定了如下的技术方案。 技术方案:mysql

  • 服务端:go-micro【微服务框架】
  • 数据库:mysql
  • 缓 存:redis
  • 前 端:el & vue
  • 服务器: centos 7 & nginx
  • 本地环境:go1.9
  • 容器:Docker
  • 进程管理:supervisor
  • 数据库备份:冷备份(rsync+mysqldump)

固然了,这里若是是对某种技术没那么熟悉的话仍是不建议选择较新技术的,毕竟这是毕设。哦,这里要说一点,去年咱们那一届,对于docker容器技术、进程管理、redis缓存和go语言和微服务这种概念有相关了解和应用的仍是比较少的,大可能是使用Java的三大框架,我我的是由于自己在学校便有不错的技术基础,而且算是熟悉这几个技术的搭配使用,因此才敢铤而走险,固然了,最终的结果也证实了个人选择是对的。nginx

搭建基础框架

技术方案选型好了,那么接下来就是先搭好基础框架了,搭建基础框架至关于打地基,地基打好了后面写业务就至关于添砖加瓦了,简单分为如下几步:git

  • golang语言环境搭建
  • docker环境搭建
  • go-mirco项目基础结构搭建,包括数据库、redis等
  • 模块划分
  • 服务划分
  • 各类脚本储备

前面几种环境的搭建你们能够自行谷歌百度,一搜一大把的那种,此处便很少描述了。关于模块划分,当年的我【嗯,如今老了(;´༎ຶД༎ຶ`)】是这样划分的 github

模块划分

关于模块划分这一点,必定要注意的是划分完必定要对照下毕设需求,大部分毕设上都有写须要实现的功能有哪些,所以若是少了就翻车了,到时候会被评委屌飞︿( ̄︶ ̄)︿,宁肯作多不可作少。 以后即是作服务划分了,最终划分结果以下 golang

服务划分

这里的划分思想我是基于日常作项目的时候划分controller的思想进行划分的,说实话,草根思想哈哈哈,不过在大学算是作了比较多的项目,也拿了比较多的奖项,因此对于这种划分的话算是仍是有必定的实操依据。 最后各类脚本储备指的是 web

shell1
包括好几个启动服务相关的shell脚本。

实现业务

基础框架搭建好了,接下来其实就是实现具体代码的时候了,业务上的具体实现便不细说了,大致流程是这样的,先定义接口,而后补充接口,服务端的大体流程跑通后,我再搭建前端,而且实现前端业务,再进行联调,一边联调一边修改接口。 最终实现出来的效果以下【大型界面翻车现场w(゚Д゚)w】: redis

图片描述
图片描述
还有提供了操做后台【也是翻车现场w(゚Д゚)w】
图片描述
为了让你们知道我没有骗大家,我特意从论文中找出来的截图,如今看来这么丑还发出来,真的是老脸都不要了 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

上云

最终为了给评委更加直观的感觉,能够直接经过域名打开,我将前端后端代码都放到了个人腾讯云服务器上,这里使用docker容器技术的好处就体现出来了,我直接将代码提交到github上,而后再腾讯云服务器的ubuntu系统上直接clone下来,而且直接使用shell脚本打包发布部署,一键搞定,若是不使用docker的话,还要本身在ubuntu系统上从新搭建一份新的和本地同样的环境,你还要求神拜佛不要出现依赖冲突或者其余乱七八糟的问题,否则你还要在上云这一步花费很多的精力。 额,刚刚说了一键搞定,不是一行代码哈,我找了下我github上的README上写的,是这样的 sql

启动程序

答辩结果

作了那么多装x的操做,目的就是为了那个优秀毕业生,我容易吗我??? 好在最后结果还在没有翻车,评委老师确实被我这些装x的操做折服了,赏了我一个优秀毕业生。

超重点来了 其实大部分人都没有好好看待学校的毕设,大部分人都是在答辩前一两个星期才匆匆忙忙搞,马马虎虎应付,不关技术好坏,只是看不起毕设或者懒,所以天然很难作到全面,而个人认真算是被评委老师们看出来了,所以才给了优的评分,最后顺其天然拿到了优秀毕业生。撒花撒花!!!

最后的最后

标题那么装x是怎么回事呢?其实就是我从一开始作毕设开始,就开源了,地址: github.com/wiatingpub/…

多是所以使用了微服务技术,或者是docker,或者是毕设让你们以为马马虎虎还过得去,所以断断续续有人star和fork,截止到当前为止,已经126个star和39个fork了。 在众多大神面前班门弄斧,确实在过度了,轻喷轻喷哈,溜了溜了!!!

有兴趣能够看看最新文章: juejin.im/post/5cf7da…


小弟不才,留个公众号哈,主要写Java相关、go语言应用、微服务相关的文章,有兴趣交个朋友交流校园趣事或者学点东西的能够关注下:

公众号.jpg
相关文章
相关标签/搜索