navigation

Gopher Sauce Documentation


Welcome

Welcome to the Gopher Sauce documentation. Gopher Sauce is an all-in-one Go web server framework. Gopher Sauce abstracts templating, HTTP services, build commands, functions and web server events. It provides a custom markup language to write these abstractions. Gopher Sauce abstractions also come at zero cost. On export, your abstractions are split into different sub-level packages tied to functionality. As a result, You can stop using Gopher Sauce without an impact to your team; as well as work on a Gopher Sauce project, with no knowledge of the framework. Using Gopher Sauce does require experience with Go (even if your just starting). Gopher Sauce has the following framework offerings :

Enterprise work flow

Gopher Sauce exports your code into different sub level packages. Each exported package is tied to a certain web server functionality. Your packages can be modified without Gopher Sauce, this is to give your team everything Go has to offer as a programming language, while reducing the learning curve to onboard new team members. The exported code puts a strong emphasis on readability, testability and documentation.


Extensibility

A set of Gopher Sauce abstractions can be used with another project. This is useful for splitting large projects into smaller, more distributed tasks. You may find more information about extensibility here.


Framework code

Template loggers

Gopher Sauce will generate additional code to debug your templates. This code will find run time exceptions caused by a template, and log it to your program’s standard output. There are no additional loggers to save output to a cloud service (with open source version).

Web handlers

Gopher Sauce will generate one web handler to handle all requests to your web root or HTTP services.

Web server source

Gopher Sauce will generate the Go source files needed to build your web server program. The generated code will be highly readable and ready for changes in the future.

Open Tracing

Gopher Sauce generates code to trace HTTP requests and template rendering. The library abstracted for use is opentracing. Tracing is only generated during development mode. You can access your traces at port 8700 of your web server.


Monolith

Gopher Sauce generates monolith binaries, with all aspects of your project merged into one. The monolith architecture enables the possibility of loading server side functions with Go templates. This removes the requirement of defining an HTTP resource each time a functionality is needed. Nonetheless, exported code can be used to build microservices.


In short, Gopher Sauce is a modern, resilient (doesn’t age) cloud native framework.

The name Gopher Sauce can be abbreviated as gos, and will be used as such throughout this documentation.