All Projects → yuedun → Metal

yuedun / Metal

Licence: apache-2.0
基于beego开发的网站,管理后台系统,包含功能:登录,用户管理,权限管理,多线程获取数据,定时任务,爬虫,markdown,七牛上传图片。

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Metal

Gardens
💎 backend manager platform ➕ 开源交流群:202196300
Stars: ✭ 312 (+89.09%)
Mutual labels:  mysql, beego
My Blog
🌴A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
Stars: ✭ 2,400 (+1354.55%)
Mutual labels:  mysql, adminlte
Yasql
基于Python开发的MySQL WEB版本的工单审核执行和SQL查询平台
Stars: ✭ 463 (+180.61%)
Mutual labels:  mysql, adminlte
Vue Blog
🎉 基于vue全家桶 + element-ui 构建的一个后台管理集成解决方案
Stars: ✭ 208 (+26.06%)
Mutual labels:  markdown, permission
Web Framework For Java
A seed project with spring boot for AngularJS, AngularJs Material, Thymeleaf, RESTful API, MySQL and admin panel based on AdminLTE.
Stars: ✭ 29 (-82.42%)
Mutual labels:  mysql, adminlte
Mysql markdown
It can generate markdown structure documents of MySQL succinctly~
Stars: ✭ 227 (+37.58%)
Mutual labels:  markdown, mysql
Newbee Mall
🔥 🎉newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
Stars: ✭ 8,319 (+4941.82%)
Mutual labels:  mysql, adminlte
Go Admin
A golang framework helps gopher to build a data visualization and admin panel in ten minutes
Stars: ✭ 5,580 (+3281.82%)
Mutual labels:  beego, adminlte
Tbls
tbls is a CI-Friendly tool for document a database, written in Go.
Stars: ✭ 940 (+469.7%)
Mutual labels:  markdown, mysql
Goapiserver
A golang api server demo that contains usage of Redis and MySQL.
Stars: ✭ 22 (-86.67%)
Mutual labels:  mysql, beego
Bookstack
BookStack,基于MinDoc,使用Beego开发的在线文档管理系统,功能类似Gitbook和看云。
Stars: ✭ 2,547 (+1443.64%)
Mutual labels:  markdown, beego
Go Mygen
Quickly generate CURD and documentation for operating MYSQL.etc
Stars: ✭ 94 (-43.03%)
Mutual labels:  markdown, mysql
Ignition Go
Bootstrap4 /Codeigniter 3 Modular (HMVC) App Building Framework - to build enterprise class web applications... Versions: CodeIgniter 3.1.9 AdminLTE 3.4 Bootstrap 4.5.0
Stars: ✭ 166 (+0.61%)
Mutual labels:  mysql, adminlte
Skills Summary
An documentation to improve oneself
Stars: ✭ 264 (+60%)
Mutual labels:  markdown, mysql
Go jwt
golang for websocket wechat or weixin and jwt,http ratelimit
Stars: ✭ 19 (-88.48%)
Mutual labels:  mysql, beego
Notes
📝 Migrated to(迁移至) https://github.com/Kuangcp/Note 当前仓库已经废弃, 对应的博客网站:
Stars: ✭ 33 (-80%)
Mutual labels:  markdown, mysql
Goa
基于Beego开发的问答系统
Stars: ✭ 154 (-6.67%)
Mutual labels:  mysql, beego
Cakephp Adminlte Theme
CakePHP AdminLTE Theme
Stars: ✭ 162 (-1.82%)
Mutual labels:  adminlte
Dolphinbeat
A server that pulls and parses MySQL binlog, pushs change data into different sinks like Kafka.
Stars: ✭ 164 (-0.61%)
Mutual labels:  mysql
Pifpaf
Python fixtures and daemon managing tools for functional testing
Stars: ✭ 161 (-2.42%)
Mutual labels:  mysql

项目说明

后台模板

go版本要求

本项目使用了go 1.15beego v1.12.3

项目启动

  • 该项目包含数据库文件,请自行创建issue数据库,执行issue.sql数据脚本导入数据。
  • 复制conf/app-sample.conf文件并重命名为app.conf

go get安装所需依赖,默认的代理可能不能顺利安装,可设置国内代理 linux:go env -w GOPROXY=https://goproxy.cn,direct windows:$env:GOPROXY = "https://goproxy.cn"

go get -u github.com/beego/bee安装beego命令行工具

执行bee run如果未找到bee命令,在系统变量Path中追加%GOBIN%,作用是执行第三方命令,比如beego会在该目录下安装bee命令

> cd %GOPATH%/src
> cd metal
> bee run

生产环境启动

./run.sh 脚本内容需要自身需求编写,我的发布流程并不一定适合你。

守护进程

单纯的启动以后,程序的稳定性很差,任何一个错误都会导致进程退出。所以需要守护进程来保证程序退出后自动重启,beego官网有提供一些方法https://beego.me/docs/deploy/,但在此我提供另一种方式,nodejs开发者应该很熟悉了,就是大名鼎鼎的pm2,如果已经安装了pm2可以直接使用。

首次启动服务:

pm2 start metal

run-by-pm2.sh是编写好的脚本文件,用于删除服务器可执行文件,上传新应用文件,修改执行权限,重启pm2服务。

./run-by-pm2.sh

启动方法和nodejs一样简单。如果没有安装过pm2那建议还是使用Supervisord,毕竟安装nodejs也是个技术活。

交叉编译

一般开发环境是windows或mac,但是服务器是linux,如果直接在服务器上拉取git代码进行编译可能会出现问题,比如开发时新引用了第三方包,国内的网络环境不便于使用第三方包,在服务器上可能get不到这些包。所以最好是在本地打包上传到服务器,那么就需要交叉编译(在window上打包为linux应用)

GOOS=linux GOARCH=amd64 go build

这个命令会生成一个linux可执行程序。然后上传到服务器即可。 其实在windows环境下进行交叉编译生成linux可执行程序后就可以不用runrun-by-pm2两个脚本了,因为交叉编译后的可执行文件直接上传到服务器就可以使用了,不需要在服务器上编译,也不需要安装golang和依赖。 需要的只是重启一下服务即可。

测试

进入到有测试文件的目录执行go test可测试所有测试函数,如只需测试指定的函数go test -v -run="Redis"

项目结构说明

由于本项目较简单,所以对项目目录结构没有严格要求,尤其是没有service层,而是将一些逻辑放到了model里,当初主要是觉得go的model层不像java,一个model文件中有大量的getter,setter方法,导致每个model变的很大, 所以java喜欢对每种文件做分类。而go的model相对来说就很简单了,只是一个简单的struct,单独作为一层会显得多余,就决定把一些函数放到model中,可以直接通过model调用相关函数。go和java还是有很大的区别,如果还是用老的一套会显得繁琐和鸡肋。

权限设计

基于角色的访问控制方法(RBAC),目前只是简单的使用用户和角色,每个角色可以有一个权限,也可以有多个权限,所以赋值角色即分配了权限。 比如:删除用户,既是角色,也是权限。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].