Rapid Web Development w/ Go

PkgGoDev Tests Status Go Report Card Open Source Helpers

Buffalo

A Go web development eco-system, designed to make your project easier.

Buffalo helps you to generate a web project that already has everything from front-end (JavaScript, SCSS, etc.) to the back-end (database, routing, etc.) already hooked up and ready to run. From there it provides easy APIs to build your web application quickly in Go.

Buffalo isn't just a framework; it's a holistic web development environment and project structure that lets developers get straight to the business of, well, building their business.

I ❤️ web dev in go again - Brian Ketelsen

⚠️ Important

Buffalo works only with Go modules. GOPATH mode is likely to break most of the functionality of the Buffalo eco-system. Please see this blog post for more information.

Also, the Buffalo team actively gives support to the last 2 versions of Go, which at the moment are:

  • 1.15.x
  • 1.16.x

While Buffalo may work on older versions, we encourage you to upgrade to latest 2 versions of Go for a better development experience.

Documentation

Please visit http://gobuffalo.io for the latest documentation, examples, and more.

Quick Start

Shoulders of Giants

Buffalo would not be possible if not for all of the great projects it depends on. Please see SHOULDERS.md to see a list of them.

Templating

github.com/gobuffalo/plush - This templating package was chosen over the standard Go html/template package for a variety of reasons. The biggest of which is that it is significantly more flexible and easy to work with.

Routing

github.com/gorilla/mux - This router was chosen because of its stability and flexibility. There might be faster routers out there, but this one is definitely the most powerful!

Task Runner (Optional)

github.com/markbates/grift - If you're familiar with Rake tasks from Ruby, you'll be right at home using Grift. This package was chosen to allow for the easy running of simple, and common, tasks that most web applications need. Think things like seeding a database or taking in a CSV file and generating database records. Buffalo ships with an example routes task that prints of the defined routes and the function that handles those requests.

Models/ORM (Optional)

github.com/gobuffalo/pop - Accessing databases is nothing new in web applications. Pop, and its command line tool, Soda, were chosen because they strike a nice balance between simplifying common tasks, being idiomatic, and giving you the flexibility you need to build your app. Pop and Soda share the same core philosophies as Buffalo, so they were a natural choice.

Sessions, Cookies, WebSockets, and more...

github.com/gorilla - The Gorilla toolkit is a great set of packages designed to improve upon the standard library for a variety of web-related packages. With these high-quality packages Buffalo can keep its "core" code to a minimum and focus on its goal of gluing them all together to make your life better.

Benchmarks

Oh, yeah, everyone wants benchmarks! What would a web framework be without its benchmarks? Well, guess what? I'm not giving you any! That's right. This is Go! I assure you that it is plenty fast enough for you. If you want benchmarks you can either a) check out any benchmarks that the GIANTS Buffalo is built upon having published, or b) run your own. I have no interest in playing the benchmark game, and neither should you.

Contributing

First, thank you so much for wanting to contribute! It means so much that you care enough to want to contribute. We appreciate every PR from the smallest of typos to the be biggest of features.

Here are the core rules to respect:

  • If you have any question, please consider using the Slack channel (#buffalo, #buffalo_fr or #buffalo-dev for contribution related questions) or Stack Overflow. We use GitHub issues for bug reports and feature requests only.
  • All contributors of this project are working on their free time: be patient and kind. :)
  • Consider opening an issue BEFORE creating a Pull request (PR): you won't lose your time on fixing non-existing bugs, or fixing the wrong bug. Also we can help you to produce the best PR!
  • All PRs MUST be opened against the development branch. If you want to write an hot-fix, we'll first fix the development branch before moving the patch to master branch.

WE WILL CLOSE ANY ISSUE OR PR NOT FOLLOWING THESE CORE RULES.

For the full contribution guidelines, please read CONTRIBUTING.

Owner
Comments
  • Implementing the `flash` helper

    Implementing the `flash` helper

    @markbates @bketelsen @bscott this is where i am on the flash helper, i'll continue tomorrow with the iterator implementation, look forward for your feedback.

  • Named Routes implementation.

    Named Routes implementation.

    This is my first attempt at supporting named routes as well as route helper functions available on the view, for more context please look into #210.

    cc @markbates

  • Truncate for

    Truncate for "buffalo test" is not working on cockroach v2.0.6

    Description

    When executing "buffalo test" with a configured cockroachDB v2.0.6 the data will not get truncated after each test. The Buffalo Auth Plugin generates multiple tests to be sure the user object is not already saved in the database before testing some logic. If I execute one test it will pass, with executing the test suite most will fail. If I run the same tests on a cockroachDB v1.1.9 everything works all fine.

    Steps to Reproduce the Problem

    Please describe in painful detail what you did (so others can play along with you) to get to this point. This includes things like the exact command(s) you used, or the curl command you used, that sort of thing.

    1. Create a new project with "buffalo new coke --db-type cockroach"
    2. Make sure the Cockroach DB is running.
    3. Generate authentication with the buffalo auth plugin
    4. Create databases with "buffalo db create -a"
    5. Run tests("buffalo test"), some of them will fail because they expect the database to be empty.
    6. Configure a postgre database with "buffalo db g config"
    7. Create databases with "buffalo db create -a"
    8. Run tests("buffalo test"), the tests pass all

    Expected Behavior

    After each test the cockroach database should truncate the created rows.

    Actual Behavior

    After each test the cockroach database keeps the data.

    Info

    ### Buffalo Version
    v0.13.2
    
    ### App Information
    Pwd=/Users/dorus/go/src/github.com/edudorus/asom
    Root=/Users/dorus/go/src/github.com/edudorus/asom
    GoPath=/Users/dorus/go
    Name=asom
    Bin=bin/asom
    PackagePkg=github.com/edudorus/asom
    ActionsPkg=github.com/edudorus/asom/actions
    ModelsPkg=github.com/edudorus/asom/models
    GriftsPkg=github.com/edudorus/asom/grifts
    VCS=git
    WithPop=true
    WithSQLite=false
    WithDep=false
    WithWebpack=true
    WithYarn=false
    WithDocker=true
    WithGrifts=true
    WithModules=false
    
    ### Go Version
    go version go1.11.1 darwin/amd64
    
    ### Go Env
    GOARCH="amd64"
    GOBIN=""
    GOCACHE="/Users/dorus/Library/Caches/go-build"
    GOEXE=""
    GOFLAGS=""
    GOHOSTARCH="amd64"
    GOHOSTOS="darwin"
    GOOS="darwin"
    GOPATH="/Users/dorus/go"
    GOPROXY=""
    GORACE=""
    GOROOT="/usr/local/Cellar/go/1.11.1/libexec"
    GOTMPDIR=""
    GOTOOLDIR="/usr/local/Cellar/go/1.11.1/libexec/pkg/tool/darwin_amd64"
    GCCGO="gccgo"
    CC="clang"
    CXX="clang++"
    CGO_ENABLED="1"
    GOMOD=""
    CGO_CFLAGS="-g -O2"
    CGO_CPPFLAGS=""
    CGO_CXXFLAGS="-g -O2"
    CGO_FFLAGS="-g -O2"
    CGO_LDFLAGS="-g -O2"
    PKG_CONFIG="pkg-config"
    GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/_5/7c3lr50s2wzgmw_y31t1r6400000gn/T/go-build684181983=/tmp/go-build -gno-record-gcc-switches -fno-common"
    
    ### Node Version
    v11.0.0
    
    ### NPM Version
    6.4.1
    
    ### Yarn Version
    Yarn Not Found
    
    ### PostgreSQL Version
    pg_ctl (PostgreSQL) 10.5
    
    ### MySQL Version
    mysql  Ver 8.0.12 for osx10.14 on x86_64 (Homebrew)
    
    ### SQLite Version
    3.24.0 2018-06-04 14:10:15 95fbac39baaab1c3a84fdfc82ccb7f42398b2e92f18a2a57bce1d4a713cbaapl
    
    ### Dep Version
    could not find a Gopkg.toml file
    
    ### Dep Status
    could not find a Gopkg.toml file
    
    ### go.mod
    module github.com/edudorus/asom
    
  • Problem starting

    Problem starting "buffalo dev" server

    Problem:

    When executing command to start local buffalo dev server, get an error when expecting normal start.

    Output:

    $ buffalo dev
    
    Buffalo version 0.7.1
    
    There was a problem starting the dev server: Unknown
    

    Details: Go Version: 1.7.4 Buffalo Version: 0.7.1 MacOS: Sierra ( 10.12.1 )

  • Error: you need to be inside your buffalo project path to run this command

    Error: you need to be inside your buffalo project path to run this command

    I am getting error below while running buffalo dev and buffalo generate on a fresh buffalo new project.

    Error: you need to be inside your buffalo project path to run this command
    

    Buffalo Version

    v0.9.4

    Go Version

    go version go1.9 linux/amd64

  • actions-packr.go: path error in windows

    actions-packr.go: path error in windows

    package actions import "github.com/gobuffalo/packr" // GENERATE FILE // Do NOT hand edit this file // It is recommended that you do not check into this file into SCM. // We STRONGLY recommend you delete this file after you have built your // Go binary. You can use the "packr clean" command to clean up this, // and any other packr generated files. func init() { packr.PackJSONBytes("../templates", "D:\Go\GOPATH\src\oschina.net\lanybass\erciyibiao\templates_flash.html", ""..."") packr.PackJSONBytes("../templates", "D:\Go\GOPATH\src\oschina.net\lanybass\erciyibiao\templates\application.html", ""..."") packr.PackJSONBytes("../templates", "D:\Go\GOPATH\src\oschina.net\lanybass\erciyibiao\templates\index.html", ""..."") }

    the slashes in D:\ should be replaced with \ or /

  • module updating (mainly for security bugfix) for gobuffalo families

    module updating (mainly for security bugfix) for gobuffalo families

    I am writing this issue to track/manage a set of PRs of module updating (mainly for security bugfix) for gobuffalo families.

    Related PRs

    • https://github.com/gobuffalo/github_flavored_markdown/pull/5
    • https://github.com/gobuffalo/tags/pull/138
    • https://github.com/gobuffalo/helpers/pull/19
    • https://github.com/gobuffalo/plush/pull/147

    Next

    • buffalo and pop
    • genny, fizz, buffalo-pop, cli will be checked if they need to be updated.
  • Autogenerated Test for Resources

    Autogenerated Test for Resources

    Hi. I made this PR as a proposal for the auto generated resources test.

    This work was based on Toodo, and I try to validate the common types when generating a resources, because the Type from Prop Struct doesn't return if is nulls or not, I added a new one called "OriginalType" for validation on the template.

  • Panic in Simpleworker

    Panic in Simpleworker

    Hello,

    I'm getting panic in Debug logger when a simple worker completes the job

    level=debug time="2022-04-17T22:20:12Z" msg="completed job %!s(PANIC=String method: runtime error: invalid memory address or nil pointer dereference)
    

    That's the culprit and this code panics too

  • build fails with golang 1.16.0

    build fails with golang 1.16.0

    Hello, I am trying to build by project with golang ~1.16beta1~ 1.16.0 (using the alpine based docker image) and I get the following error:

    buffalo build -v
    DEBU[2021-01-05T07:39:43Z] Step: e1807c46
    DEBU[2021-01-05T07:39:43Z] Chdir: /test/xxx
    DEBU[2021-01-05T07:39:43Z] File: /test/xxx/main.go
    DEBU[2021-01-05T07:39:43Z] File: /test/xxx/a/aa.go
    DEBU[2021-01-05T07:39:43Z] File: /test/xxx/buffalo_build_main.go
    DEBU[2021-01-05T07:39:43Z] File: /test/xxx/migrations/.pop-tmp.md
    DEBU[2021-01-05T07:39:43Z] Exec: go build -v -tags development -o bin/xxx
    go: updates to go.mod needed; try 'go mod tidy' first
    DEBU[2021-01-05T07:39:43Z] Rollback: main.go
    DEBU[2021-01-05T07:39:43Z] File: /test/xxx/main.go
    DEBU[2021-01-05T07:39:43Z] Delete: a/aa.go
    DEBU[2021-01-05T07:39:43Z] Delete: buffalo_build_main.go
    DEBU[2021-01-05T07:39:43Z] Delete: migrations/.pop-tmp.md
    DEBU[2021-01-05T07:39:43Z] Exec: go mod tidy
    Usage:
      buffalo build [flags]
    
    Aliases:
      build, b, bill, install
    
    Flags:
          --clean-assets               will delete public/assets before calling webpack
          --dry-run                    runs the build 'dry'
          --environment string         set the environment for the binary (default "development")
      -e, --extract-assets             extract the assets and put them in a distinct archive
      -h, --help                       help for build
          --ldflags string             set any ldflags to be passed to the go build
          --mod string                 -mod flag for go build
      -o, --output string              set the name of the binary
      -k, --skip-assets                skip running webpack and building assets
          --skip-build-deps            skip building dependencies
          --skip-template-validation   skip validating templates
      -s, --static                     build a static binary using  --ldflags '-linkmode external -extldflags "-static"'
      -t, --tags string                compile with specific build tags
      -v, --verbose                    print debugging information
    
    ERRO[0000] Error: exit status 1
    

    A strange thing is that echoing $? returns 255, not 1

    Running go mod tidy does not solve the issue. Running buffalo dev works fine The project builds fine with golang 1.15.5 and the same buffalo versio (0.16.18)

    What can I check to provide more useful infos/solve this ?

    test repo: https://github.com/giulianozor/buffalotest

    thanks

    Update: running go get -u, buffalo fix buffalo update does not fix the issue Update 2: if I run buffalo build --dry-run it seems to complete without error, but obviously no binary is produced

  • Create / drop database not working

    Create / drop database not working

    Hi there,

    Thanks for your work, at first :) I ran into problems just executing the following command: $ buffalo create db -a OR

    $ buffalo db drop -a

    I have the following database.yml:

    development:
      dialect: postgres
      database: myAppdb
      user: user
      password: password
      host: 127.0.0.1
      pool: 5
    
    test:
      url: {{envOr "TEST_DATABASE_URL" "postgres://user:[email protected]:5432/myApp_test?sslmode=disable"}}
    
    production:
      url: {{envOr "DATABASE_URL" "postgres://user:[email protected]:5432/myApp_production?sslmode=disable"}}
    

    I get:

    $ buffalo db drop -a
    v3.41.3
    
    couldn't drop database myApp_test: error dropping PostgreSQL database myApp_test: pq: authentification par mot de passe échouée pour l'utilisateur  « user »
    couldn't drop database myApp_production: error dropping PostgreSQL database myApp_production: pq: authentification par mot de passe échouée pour l'utilisateur  « user »
    couldn't drop database myAppdb: error dropping PostgreSQL database myAppdb: pq: la base de données « user » n'existe pas
    

    Meaning: buffalo seems to understand postgres://user:password as postgres://DATABASEr:password !

    Any help, please ?

  • For nulls.Time, decode empty value as NULL

    For nulls.Time, decode empty value as NULL

    What is being done in this PR?

    This PR adds a check during decoding which will return nulls.Time as a NULL value (i.e. its value for Valid will be false). Without this check, the value of nulls.Time{} will be:

    {
      Time: 0001-01-01 00:00:00 +0000 UTC,
      Valid: true,
    }
    

    This ends up storing the value 0001-01-01 00:00:00 +0000 UTC in the database, as opposed to a NULL value.

    What are the main choices made to get to this solution?

    One option was to make the model Bindable and write a custom Bind() method which could handle empty values, but the default Bind handler does so much that bypassing it seemed extreme.

    What was discovered while working on it? (Optional)

    Type in here a description of the discoveries made while working on this PR.

    List the manual test cases you've covered before sending this PR:

    Fizz (using Postgres):

    create_table("people") {
    	t.Column("id", "uuid", {primary: true})
    	t.Column("name", "string", {"size": 128})
    	t.Column("birthday", "date", {"null": true})
    	t.Timestamps()
    }
    

    Model:

    type Person struct {
    	ID uuid.UUID `json:"id" db:"id"`
    	Name  string `json:"name" db:"name"`
    	Birthday nulls.Time `json:"birthday" db:"birthday"`
    	CreatedAt time.Time `json:"created_at" db:"created_at"`
    	UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
    }
    

    Plush form:

    <%= f.InputTag("Birthday", {"type":"date"}) %>
    
  • Piti/feat/trace on dev test

    Piti/feat/trace on dev test

    What is being done in this PR?

    This PR fixes issue #1904. And fix the bug caused by one of the previous pr that trace will only appear on development but not test environment.

    What are the main choices made to get to this solution?

    Without traces it's much harder to debug. The doc is also misleading that we will get a trace but in fact we didn't. This PR fix that issue.

    https://gobuffalo.io/documentation/request_handling/errors/#default-error-handling-development

    List the manual test cases you've covered before sending this PR:

    The tests are covered in unit tests.

    On dev, test: when handler return error being (pkg/errors or context.Error()) if it contains stack trace then it should return that stack trace. On other env, trace is hidden.

  • feature: Move MIME support out of internal

    feature: Move MIME support out of internal

    Description

    Currently MIME support is through mail/internal/mail/message.go, an internal package. So if I wanted to create my own Sender/BatchSender implementation with MIME support, I would need to duplicate code. Options I see:

    • Add a function to mail.Message to convert it to []byte with MIME data
    • Add a function to mail package that takes in a mail.Message and converts it to []byte with MIME data

    Thanks!

    Additional Information

    No response

  • bug: buffalo.Options.Prefix does not work

    bug: buffalo.Options.Prefix does not work

    Description

    Description

    Buffalo version is: v0.18.12

    I want the buffalo server as a backend of nginx, and follow the instruction from #2022 , adding a Options.Prefix: '/prefix', then all request returns 404 no matter a '/prefix' is prepended in the request or not.

    I found this useful guideline to configure with the nginx https://gobuffalo.io/documentation/deploy/proxy/ , but the rule inside my organization requires a prefix route config.

    Expected Behavior

    Expected to configure a reverse proxy route with prefix .

    Actual Behavior

    web requests are broken after the prefix is configured. API requests should append a '/' char at the end of the path.

    To Reproduce

    1. Add a prefix in actions/App.go
    func App() *buffalo.App {
    	appOnce.Do(func() {
    		app = buffalo.New(buffalo.Options{
    			Env:         ENV,
    			SessionName: "_tmon_session",
    			Prefix:      "/prefix/",
    		})
    }
    
    1. run buffalo routes to verify:

    before adding prefix:

      % buffalo routes
    METHOD | HOST                  | PATH                    | ALIASES | NAME                   | HANDLER
    ------ | ----                  | ----                    | ------- | ----                   | -------
    GET    | http://127.0.0.1:3000 | /                       |         | rootPath               | proj/actions.HomeHandler
    POST   | http://127.0.0.1:3000 | /api/v1/user/users/     |         | apiV1UserUsersPath     | proj/actions/user.CreateUserHandler
    

    after adding the prefix:

    % buffalo routes
    METHOD | HOST                  | PATH                           | ALIASES | NAME                         | HANDLER
    ------ | ----                  | ----                           | ------- | ----                         | -------
    GET    | http://127.0.0.1:3000 | /prefix/                       |         | prefixPath                   | proj/actions.HomeHandler
    POST   | http://127.0.0.1:3000 | /prefix/api/v1/user/users/     |         | prefixAPIV1UserUsersPath     | proj/actions/user.CreateUserHandler
    
    1. check the welcome page, the returned links do not contain the '/prefix':
    % curl -L  http://127.0.0.1:3000/prefix
    <pre>
    <a href="assets/">assets/</a>
    <a href="robots.txt">robots.txt</a>
    </pre>
    
    # but http://127.0.0.1:3000/prefix/ , with an ending '/' , returns 404.
    
    1. http://127.0.0.1:3000/prefix/assets/ redirected with 301 code to http://127.0.0.1:3000/prefix/assets/assests then 404 code.

    2. http://127.0.0.1:3000/prefix/robots.txt works.

    3. The API works only postpended with '/'.

    This causes a 404 code :

    curl -XPOST -L  http://127.0.0.1:3000/prefix/api/v1/user/users
    

    this works :

    curl -XPOST -L  http://127.0.0.1:3000/prefix/api/v1/user/users/
    

    Additional Context

    Details

    Paste the output of `buffalo info` here!
    
  • feature: How to set a popup window after executing remote:true

    feature: How to set a popup window after executing remote:true

    Description

    How to set a popup window after executing remote:true

    <a href="/xx" data-remote="true" onsuccess??>

    Additional Information

    No response

  • feature: Add cron-style periodic worker support

    feature: Add cron-style periodic worker support

    Description

    Cron-style periodic workers are required by many applications. Less robust solutions can be concocted with PerformIn, which leaves room for a more explicit way to express job run periods.

    Additional Information

    I opened this Issue to reference https://github.com/gobuffalo/buffalo/pull/2308

A secure, flexible, rapid Go web framework
A secure, flexible, rapid Go web framework

A secure, flexible, rapid Go web framework Visit aah's official website https://aahframework.org to learn more News v0.12.3 released and tagged on Feb

Oct 26, 2021
Roche is a Code Generator and Web Framework, makes web development super concise with Go, CleanArch
Roche is a Code Generator and Web Framework, makes web development super concise with Go, CleanArch

It is still under development, so please do not use it. We plan to release v.1.0.0 in the summer. roche is a web framework optimized for microservice

Sep 19, 2022
Goal is a toolkit for high productivity web development in Go language in the spirit of Revel Framework that is built around the concept of code generation.

Goal Goal is a set of tools for high productivity web development in Go language. Goal, being mostly inspired by Revel Framework and its discussions,

Sep 27, 2021
go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.

go-zero English | 简体中文 0. what is go-zero go-zero is a web and rpc framework that with lots of engineering practices builtin. It’s born to ensure the

Jan 2, 2023
Simple Janet web development platform in Go, à la PHP

Spinnerette Simple Janet web development platform in Go, à la PHP Building make This will handle pulling submodules, building Janet, and then building

Dec 3, 2022
based on go lang build WEB development framework for go lang beginners .

based on go lang build WEB development framework for go lang beginners .

Oct 31, 2021
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.

Flamingo Framework Flamingo is a web framework based on Go. It is designed to build pluggable and maintainable web projects. It is production ready, f

Jan 5, 2023
⚡ Rux is an simple and fast web framework. support middleware, compatible http.Handler interface. 简单且快速的 Go web 框架,支持中间件,兼容 http.Handler 接口

Rux Simple and fast web framework for build golang HTTP applications. NOTICE: v1.3.x is not fully compatible with v1.2.x version Fast route match, sup

Dec 8, 2022
Golanger Web Framework is a lightweight framework for writing web applications in Go.

/* Copyright 2013 Golanger.com. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except

Nov 14, 2022
re:Web enables classic web applications to run on AWS Lambda.
re:Web enables classic web applications to run on AWS Lambda.

re:Web re:Web enables classic web applications to run on AWS Lambda. re:Web interfaces with the Lambda Runtime API. It translates API Gateway requests

Jan 1, 2023
The jin is a simplified version of the gin web framework that can help you quickly understand the core principles of a web framework.

jin About The jin is a simplified version of the gin web framework that can help you quickly understand the core principles of a web framework. If thi

Jul 14, 2022
A powerful go web framework for highly scalable and resource efficient web application

webfr A powerful go web framework for highly scalable and resource efficient web application Installation: go get -u github.com/krishpranav/webfr Exa

Nov 28, 2021
A powerful go web framework for highly scalable and resource efficient web application

A powerful go web framework for highly scalable and resource efficient web application

Oct 3, 2022
Chainrand contract + web frontend + web backend

Chainrand-web This repo contains the implementation of Chainrand. https://chainrand.io Smart Contract Contains functionality to tie a Chainlink VRF to

Dec 8, 2021
A web app built using Go Buffalo web framework

Welcome to Buffalo Thank you for choosing Buffalo for your web development needs. Database Setup It looks like you chose to set up your application us

Feb 7, 2022
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.
GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.

GoFrame English | 简体中文 GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang. If you're a

Jan 2, 2023
Hexya business application development framework

Hexya Hexya is an open source ERP and a business application development framework written in Go. This repository houses the business application deve

Jan 5, 2023
GoFarm is an Application Development Framework for especially Backend Developer with Golang

What is GoFarm GoFarm is an Application Development Framework for especially Backend Developer with Golang. Our goal is to develop easier, standardize

Dec 9, 2021