基于 Beego 开发的在线问答系统
介绍
基于 Beego + Vue 开发的在线问答系统。
功能
- [x] 邮箱注册
- [x] 邮件密码找回
- [x] 会员邮件激活
- [x] markdown内容提问和回答
- [x] XSS安全过滤
- [x] Vue前端小组件
- [x] 完善的会员功能体系
- [x] 后台前后端分离
- [x] API接口
- [x] 程序/数据库定时备份
- [x] ENV环境配置
- [ ] 单元测试
依赖
库 | 介绍 |
---|---|
github.com/astaxie/beego |
Beego框架 |
github.com/go-sql-driver/mysql |
Mysql库 |
github.com/russross/blackfriday |
Markdown解析库 |
github.com/joho/godotenv |
ENV文件读取 |
github.com/dchest/captcha |
图形验证码 |
早在几个月前就着手开始学习 GO 语言了,无闻的视频也看完了,自己也买了两本关于 GO 语言的书籍,也都看了部分,刚开始的时候虽然有 PHP 的编程基础学习新的的语言并不是很累,掌握也很快,但是具体到学习 GO 之后用来干嘛一直很困惑,于是,最终决定还是得从最简单写项目开始,于是 GOA 的项目就诞生了. GOA 的项目刚开始的时候只是在 runoob 刷了下 go 语言的基础就编写了,然后停滞了一段时间,之后再刷完无闻的课程之后又开始重新着手编写 GOA,跌跌撞撞下来 GOA 总算是完成了测试版本。整个项目开发下来的话,对 go 语言的 web 开发算是有了一定的了解。但是毕竟出身于 PHP 并热衷 Laravel,所以在 GOA 的项目当中可以看到很多 Laravel 的影子,其中包括:
- ENV 的文件配置
views/emails
下的邮件模板views/assets
下的前端文件组织结构和 laravel5.6 的resource/assets
基本一样(5.7版本改了层级)- 与 Laravel-mix 相似的 npm watch/dev/build
这里不得不吐槽一句,beego 开发 web 项目是真的慢 :cry: 。
个人在这里感觉 go 语言的扩展包生态没有 php 的好,不知道是不是我对 GO 了解的不多还是事实的确是这样?至少我个人不知道在哪里才能找到那些可以复用的扩展包,好歹 PHP 有个 packagist.org 是吧。这不得不吐槽下,在做网站数据的自动备份的时候,开始自己并不知道 GO 已经有了 https://github.com/mholt/archiver 这个较为完善的压缩扩展库,自己还是傻傻的重复造轮子,写了一个自动 zip 压缩备份的库,浪费了较多的时间。不过刚开始的重复造轮子是的对 GO 的基础有了更深入的了解,像这次的网站压缩备份,对 GO 语言的文件目录系统的库和 zip 压缩库都有了新的认识,也算是值得付出的一件事情了。
项目地址:https://github.com/Qsnh/goa
本作品采用《CC 协议》,转载必须注明作者和本文链接
支持下
支持一波,已 star
@丁海军 多谢支持 :heart:
@aimerforreimu 多谢支持 :heart:
go get github.com/Qsnh/goa 我拉代码十几分钟不动,有什么办法快点?
是不最后编译成一个可执行文件,不需要其他依赖就能跑?
@lovecn 是的,go build编译生成可执行文件就可以直接运行了,不过还需要.env文件模板视图目录和static目录,这些都是静态资源的文件。很慢的话可能是因为你网络的原因。
没意义,go不是这么用的
@panco 是的,不过学了go之后一直不知道干嘛,自己比较熟悉web开发,就捡熟悉的来了