开源的实验室展示网站起因前阵子,老板给了一个需求: 让我把实验室历年发表的文章,做个网站展示,方便新生下载,要做出可编辑的功能,方便以后添加。当然我时间就是去网上找有没有开源的代码,找了半天没有找到…" /> 开源的实验室展示网站起因前阵子,老板给了一个需求: 让我把实验室历年发表的文章,做个网站展示,方便新生下载,要做出可编辑的功能,方便以后添加。当然我时间就是去网上找有没有开源的代码,找了半天没有找到…" />
绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
同学!你老板让你写个实验室网站
2019-09-23 16:30:22

封面是我们的祢豆子酱~~~~

先放上仓库地址开源的实验室展示网站

起因

前阵子,老板给了一个需求: 让我把实验室历年发表的文章,做个网站展示,方便新生下载,要做出可编辑的功能,方便以后添加。当然我时间就是去网上找有没有开源的代码,找了半天没有找到,也可能是我用的关键字不对。好不容易找到一个提供搭建实验室网站服务的网站,但是老板觉得放在内网里比较好,因为有些论文涉及版权问题,所以这个网站会放在内网上。毕竟研究生不是专业搞前端的,所以就想着开源出来和大家一起用。而且学弟实测部署方便,一键启动!

开撸

没有办法,只能自己手撸了。因为之前有过前端开发经验,所以选择使用vue编写前端,采用前后端分离的开发方式,后端就使用gin来搭建,用户认证就交给了jwt。疯狂coding了2天终于写出了一版。地址已经放在开头了,效果图就放在了下面。

技术栈

本项目前端代码使用Element-基于 Vue 2.0 的桌面端组件库构建,后端使用golang编写的web框架gin提供restful api服务, 使用redis存储必要的数据。整个服务使用docker-compose部署。

  1. 前端 vue+vuex+vue-router+axios+element
    1. 既然用vue写前端了,不管用到用不到都要上vue全家桶啦,前端没有什么想说的,基于一个理念就行:简单就是美,其实色彩越单调,结构越简单越好。
    2. 开发的时候,突然发现加入一些好看的图标,能够极大的美化页面,因为element自带的icon种类太少,我就从阿里的icon库里面选择了一些比较好的icon。发现效果确实不错,大家以后也可以使用这上面的图标。
  2. golang(gin)
    1. 后端 golang(gin) 之前一直用python写后端,这次次试水了golang,发现写起来并没有很难受,感觉gin写后端很容易上手,并不比flask或者tornado差。
    2. 而且golang的goroutine和channel简直不要太爽(项目里没有用到,只是单纯的想夸一下golang)。
    3. 学习的时候,参考的这篇博客,写的很不错。
  3. docker-compose(nginx+golang+redis)
    1. 因为老板想让部署和迁移都比较方便,那就毫无疑问上docker啦,把一些数据映射到宿主机,迁移的时候,把容器映射到宿主机的文件拷贝出来再部署就可以恢复数据了。
    2. 其中我将前端放在nginx容器上,并用nginx做一层反向代理到golang容器中,其实这里的golang并不是一个golang的环境,只是存放了后端编译好的可执行程序。

部署

老板要求容易部署,并且可以做到迁移方便,当时脑子里面就想到用docker,相关的数据映射到本地,然后迁移的时候附带相关数据就可以啦。

TODO

因为老板一开始要求只要可以展示和下载论文就行了,所以就没有写首页介绍的部分,这也是后面考虑要做的,如果这个项目关注度不错,我会继续修改的。

同学你老板让你写个实验室网站,如果你不擅长前端开发,那么可以试试这个。

如果你觉得不错,欢迎给个star

分享好友

分享这个小栈给你的朋友们,一起进步吧。

华山论剑
创建时间:2019-02-22 18:53:00
没了烟火气,人生就是一段孤独的旅程·····于是,在ITPUB,我们以武论英雄!
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 栈栈
    栈主
  • ?
    嘉宾

小栈成员

查看更多
  • u_9a3ed7a37f8e4a
  • daisyplay
  • boss_ch
  • Jack2k
戳我,来吐槽~