All Projects → pthethanh → robusta

pthethanh / robusta

Licence: MIT license
Simple blog for sharing Go, written in Go and VueJS (Element-UI), follows golang-standards-project-layout

Programming Languages

go
31211 projects - #10 most used programming language
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to robusta

l-blog
个人网站,博客,blog。技术:node、express、vue、element-ui 等。
Stars: ✭ 15 (-59.46%)
Mutual labels:  element-ui
opsli-ui
OPSLI 快速开发平台基于springboot、vue、element-ui ,项目采用前后端分离架构,热插拔式业务模块与插件扩展性高 ,代码简洁,功能丰富,开箱即用
Stars: ✭ 76 (+105.41%)
Mutual labels:  element-ui
element-schema-form
A schema-based element-ui form component for Vue2.x.
Stars: ✭ 31 (-16.22%)
Mutual labels:  element-ui
vue-ele-table
vue-ele-table | 基于 element-ui 数据驱动表格
Stars: ✭ 33 (-10.81%)
Mutual labels:  element-ui
node-express-nuxt-mongodb-boilerplate
基于nuxt开发的ssr后台管理系统
Stars: ✭ 14 (-62.16%)
Mutual labels:  element-ui
vue-template
基于vue-cli4.x搭建的项目模板
Stars: ✭ 27 (-27.03%)
Mutual labels:  element-ui
wl-vue-select
用于vue框架的树形下拉框及带全选的普通下拉框。 Tree drop-down box for vue framework and ordinary drop-down box with select all
Stars: ✭ 24 (-35.14%)
Mutual labels:  element-ui
learn-english
📚 Vue + Element-UI + Lumen 开发的背单词应用
Stars: ✭ 53 (+43.24%)
Mutual labels:  element-ui
vue-typescript-admin
Vue typescript 开发的基础模板,多页面支持,基础整合完毕。
Stars: ✭ 26 (-29.73%)
Mutual labels:  element-ui
learn
Vue代理商城项目
Stars: ✭ 40 (+8.11%)
Mutual labels:  element-ui
adempiere-vue
ADempiere-Vue is a new UI for ADempiere ERP, CRM & SCM. It is based on Vue and uses the UI Toolkit element-ui. It is a great UI for ADempiere ERP, CRM & SCM, based on the newest development stack of Vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. This project was forked from Vue-Element-Admin…
Stars: ✭ 37 (+0%)
Mutual labels:  element-ui
vue-admin-blog
w-blog的后台部分,主要基于vue-element-admin项目
Stars: ✭ 13 (-64.86%)
Mutual labels:  element-ui
ele-pro
element-ui ant-design admin
Stars: ✭ 12 (-67.57%)
Mutual labels:  element-ui
jxc-admin
一个前后端分离的简易进销存后台管理系统,基于SpringBoot和vue-element-admin实现,具备常见的后台管理功能,登录态使用session,使用基于资源url的简单权限控制。
Stars: ✭ 203 (+448.65%)
Mutual labels:  element-ui
vue-willtable
An editable table component for Vue.js 2.0
Stars: ✭ 119 (+221.62%)
Mutual labels:  element-ui
vue3-admin
admin-web后台管理项目骨架是基于vue3搭建起来的项目,前端ui库使用的是element-plus组件库,实现登录鉴权,动态菜单功能
Stars: ✭ 107 (+189.19%)
Mutual labels:  element-ui
zero-vue-admin
基于Go-Zero + vue-element-admin的前后端分离微服务管理系统的前端模块
Stars: ✭ 43 (+16.22%)
Mutual labels:  element-ui
awesome-vue-boilerplate
😍 Awesome Vue Boilerplate 🥳 Vue 🥰 Vuex, vuex-pathify 🤗 element-ui 🤲 tailwindcss
Stars: ✭ 60 (+62.16%)
Mutual labels:  element-ui
element-ui-demo
A element-ui admin base on vue2
Stars: ✭ 18 (-51.35%)
Mutual labels:  element-ui
vue-elementui-freedomen
elementui 应用级框架
Stars: ✭ 27 (-27.03%)
Mutual labels:  element-ui

robusta

Just a simple website to share technology knowledge. Live demo is available at: https://goway.herokuapp.com

This project follows golang-standards/project-layout and hence can be used as a reference for new Go developers.

Note that this project now is no longer in active development, but feel free to make pull request.

Prerequisites

Make sure you have the development environment matches with these notes below so we can mitigate any problems of version mismatch.

  • Backend:

    • Go SDK: 1.13. Make sure to set $GOROOT and $GOPATH correctly. You can check those environment variable by typing: go env.
    • MongoDB: 4.1 (latest 4.1.8).
    • Go module
  • Frontend:

    • NodeJS: 11.10 (latest 11.10.0).
    • Use yarn instead of npm.
    • Framework: VueJS 2.x (latest 2.6.6).
    • UI components framework: Element-UI (latest 2.5.4).
  • Commons:

    • OS: Should use Linux (latest Ubuntu or your choice of distro) if possible. Windows does not play well with Docker and some other techs we may use. If you still prefer to use Windows, so you may have to cope with problems by yourself later since we're assuming everything will be developed and run on Linux.
    • Install Docker CE (latest 18.x) and docker-compose.
    • Install git for manage source code.
    • IDE of your choice, recommended Goland or VS Code.

Development

1. Clone code to local

$ go get -u -v github.com/pthethanh/robusta
or
$ cd $GOPATH/src
$ git clone https://github.com/pthethanh/robusta.git

After this step, source code must be available at $GOPATH/src/github.com/pthethanh/robusta.

2. Start development environment with Docker

You can use Docker to start all services at once. This will support auto reload for both frontend and backend

$ cd /web && yarn install && cd ../
$ make compose_dev

After started, services will be available at localhost with ports as below:

MongoDB: 27017
Backend: 8080
Frontend: 8081

Testing Google Authentication locally

Google doesn't support OAuth with localhost or any domain with port, but our server is running on 8080, hence we need to create a local domain named mylocalhost.com and make sure all requests to that domain is forwarded to the server that is running at port 8080

Following steps need to be done:

1. Update iptables

sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080

2. Update /etc/hosts

127.0.0.1 mylocalhost.com

3. Update Google OAuth2 configurations

Make sure mylocalhost.com is updated in Google Console Add http://mylocalhost.com/auth/google/callback into the Authorized redirect URIs of Google Console API

Checking for web performance using size-limit

make size

For more detail, see size-limit on github

Useful VS Code plugins

  • Vetur (octref.vetur)
  • Go (ms-vscode.go)
  • vue-format (febean.vue-format)
  • Code Spell Checker (streetsidesoftware.code-spell-checker)
  • GitLens — Git supercharged (eamodio.gitlens)
  • Docker (ms-azuretools.vscode-docker)

Notes

  • Make sure to run go fmt, go vet, go test, and go build / go install before pushing your code to Github. Or you can just run make before pushing.
  • Never commit directly to master or develop branches (you don't have permission to do so, anyway). Instead, checkout from develop branch to a separated branch then work on that.
    Whenever you finish your work, you can create a Pull Request (PR) / Merge Request (MR) to ask for code review and merging your branch back to develop.
    master branch will be reserved when administrator decide to release a stable version of application.
  • All documentations must be written in Markdown format, recommended to use Typora as the Markdown editor.

Tech requirements:

Color: https://www.colourlovers.com/palette/173625/Browser_wars

TODO

Need update

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].