最近想找几个基于Go语言开发的简单的开源项目学习下,分享给大家,github上有心人的收集的awesome-go项目集锦:github地址

  发现一个Qor项目:

    Qor 是基于 Golang 开发的的CMS 一系列工具库,基于 Qor可以快速搭建网站的后台管理系统。

  Qor 的工作库包含:

  • 1,后台管理:可以对数据库进去 CURD 管理,支持一对一,一对多,多对多关联关系维护等等;
  • 2,支持上传图片到云以及 filesystem,resize、crop 图片等等 ;
  • 3,Publish 发布系统,可以修改数据,并且经过检查后,再发布到正式环境中;
  • 4,状态机,可以用于开发工作流的系统;
  • 5,I18n,翻译,可以通过在 WEB 界面翻译,并将翻译保存到数据库中;
  • 6,L10n,本地化,不同于翻译,他可以针对某个地区来对内容,或者数据结构进行本地化。
  • 7,Roles,权限管理;
  • 8,Exchange,通过 Excel,CSV 导入导出数据;
  • 9,Worker,后台任务管理,可用于跑定时任务等等

  在Qor项目(地址)的readme中还提供中外两个聊天室,不懂的问题都可以尽情问,中文聊天室英文聊天室,还写了一个demo购物网站,对应源码也在github上(https://github.com/qor/qor-example)。学习一个项目,就是先把项目跑起来看看效果,golang也是刚开始了解,花了两天,简单记录下踩过的坑~

  golang环境搭建这里就不介绍了,可以看前面的windows下Go Web编程系列。步骤如下:

  一、克隆源码

  进入src源码目录下,md github.com\qor创建qor仓库,git init初始化,git clone https://github.com/qor/qor-example.git等下下载完

      

  

  


  二、查看README.md里面的Quick Started

  

  (1)创建数据库(此处用navica界面创建的):

  

  (2)运行主程序(此处有很多问题):

  问题1:"cloud.google.com/go/compute/metadata"包找不到,在src目录下按照错误提示路径创建后下载,git clone https://github.com/googleapis/google-cloud-go,然后修改目录名(把google-cloud-go里面的同名目录剪切到上一级替换掉google-cloud-go并把google-cloud-go改为go目录,见下图3)。

  

   

  

  问题2:"D:\\mygo\\src\\github.com\\unrolled\\render" is not using a known version control system说明render不在版本控制,之前是下载的zip文件,所以删除render重新git clone https://github.com/unrolled/render.git

  net包也报过不在版本控制,同样使用git clone https://github.com/golang/net.git 下载

  

  下面go get -u安装项目所需依赖,go run main.go主程序运行起来:

  

  


  三、修改配置,创造fake数据

  (1)主程序运行起来发现config/application.example.yml,config/smtp.example.yml,config/database.example.yml几个配置文件找不到,将其example.去掉即可。

  

  (2)阅读README.md,再打开一个cmd执行Generate sample data

  

 问题:执行脚本说faker包找不到,进入src\github.com 后md azumads创建报错所说的路径,cd azumads后  git clone https://github.com/azumads/faker.git

  


  四、访问web

  第二步骤看出程序监听7000端口,访问web:http://localhost:7000/,效果如下:

  

  

  

  

  

  


 五、继续阅读README.md体验一下RESTful API

  

 

 - Users:http://localhost:7000/api/users.json

  

  - User 1:http://localhost:7000/api/users/1.json

  - User 1's Orders:http://localhost:7000/api/users/1/orders.json

  - User 1's Order 1:http://localhost:7000/api/users/1/orders/1.json

  - User 1's Order 1's Items:http://localhost:7000/api/users/1/orders/1/items.json

  - Orders:http://localhost:7000/api/orders.json

  

  - Products:http://localhost:7000/api/products.json


  六、遗留问题

  问题1:RESTful API标记金色的3个page not found。

  问题2:基础界面出来了,大部分按钮可以触发,但是MEN WOMEN KIDS分类点击后跳转到了空白页,golang不熟,这两个问题后续代码跟进下,如果有小伙伴跑这个项目没问题,希望能给我点帮助~。~ 

  更正一下,遗留两个问题源码也没有实现,整体qor-example项目按照这个步骤可以完美运行,发现go也有进程管理相关包,gosuv,感兴趣的可以了解下~

golang开源项目qor快速搭建网站qor-example运行实践的更多相关文章

  1. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目

    Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...

  2. 利用Columnal网格系统快速搭建网站的基本布局结构

    1.下面是一些对响应式设计提供了不同程度支持的CSS框架: (1)Semantic(http://semantic.gs); (2)Skeleton(http://getskeleton.com); ...

  3. ASP.NET MVC项目框架快速搭建实战

    MVC项目搭建笔记---- 项目框架采用ASP.NET MVC+Entity Framwork+Spring.Net等技术搭建,采用”Domain Model as View Model“的MVC开发 ...

  4. Docker Data Center系列(一)- 快速搭建云原生架构的实践环境

    本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...

  5. express+handlebars 快速搭建网站前后台

    最近在重构公司网站,原来网站使用PHP,前后端不分离,添加与更新网站内容仍使用原始方法,先出布局再把调好的布局给PHP后端开发,花时间长,维护不易.因此决定将网站前后端分离,核心功能含网站下单及CRM ...

  6. YourSQLDba开源项目发布到codeplex网站了

    今天登录YourSQLDba的官方网站http://yoursqldba.grics.ca/index_en.shtml,发现YourSQLDba项目已经发布到开源网站http://www.codep ...

  7. Golang开源项目

    谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也 ...

  8. SSM项目环境快速搭建

    SSM项目的环境搭建 环境搭建的目标 工程创建 创建父工程 创建空 maven工程 xxx-parent 作为父工程 修改父工程中的 pom.xml <!--?xml version=" ...

  9. H5页面快速搭建之高级字体应用实践

    原文出处: 淘宝前端团队(FED)- 龙驭 背景 最近在开发一个 H5 活动页快速搭建平台,可以通过拖拽编辑图片,文字等元素组件,快速搭建出一个移动端的活动页面,基本交互和成品效果类似 PPT 软件. ...

随机推荐

  1. inputClient.js

    $(document).ready(function () { loadData();}); //初始化数据function loadData(){ loadMList();//加载数据 $(&quo ...

  2. 【js】关于this指针-理解call、apply、bind

    首次讲解视频,听了一下,录音声音太小(暂不知道该怎么调节),老是咳咳,不太流畅.暂时不理想,日后继续努力.(能写出来还不够,还要会说出来) 首先,this指针只存在于函数(function)中.用于指 ...

  3. django admin使用-后台数据库管理界面

    admin是django提供的基于web的管理数据库的工具,它是django.contrib 的一部分,可以在项目的settings.py中的INSTALLED_APPS看到. 一.admin管理工具 ...

  4. SSM-网站前台博客系统制作(2)---完善版Google的Kaptcha

    前提: 在上一篇文章中,可以加入基本的验证码,但是很呆板,验证码也无法传输到Controller进行处理,然后现在改正了一下,可以刷新验证码,然后和登录名,密码一起提交过去, 弄了一下午和晚上,QAQ ...

  5. Selenium及Headless Chrome抓取动态HTML页面

    一般的的静态HTML页面可以使用requests等库直接抓取,但还有一部分比较复杂的动态页面,这些页面的DOM是动态生成的,有些还需要用户与其点击互动,这些页面只能使用真实的浏览器引擎动态解析,Sel ...

  6. day11函数的参数,函数对象 - 函数名,函数的嵌套调用

    复习 # 什么是函数:具体特定功能的代码块 - 特定功能代码块作为一个整体,并给该整体命名,就是函数 # 函数的优点: # 1.减少代码的冗余 # 2.结构清晰,可读性强 # 3.具有复用性,开发效率 ...

  7. 用redis构建分布式锁

    单实例的实现 从2.6.12版本开始,redis为SET命令增加了一系列选项: EX seconds – 设置键key的过期时间,单位时秒 PX milliseconds – 设置键key的过期时间, ...

  8. UVA11107 Life Forms

    思路 后缀数组 先都拼在一起 二分+height分段 按照小于x的为分界,判断是否有一个分段中包含超过n/2个串 代码 #include <cstdio> #include <cst ...

  9. Git 安装和使用Tips

    1. git的安装 2. git的常见用法 3. git的常见问题 1. git的安装 1)首先去下载https://git-scm.com/downloads 在上述官网上下载符合自己操作系统的gi ...

  10. js斐波那契数列

    斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89...... 这个数列从第3项开始,每一项都等于前两项之和. 1.递归算法: function ...