Our great sponsors
-
bubbly
Discontinued Bubbly is an open-source platform that gives you confidence in your continuous release process.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
You can build a static export of your frontend code, then embed it in a static binary and serve that. Example (not Svelte but same idea): https://github.com/dstotijn/golang-nextjs-portable
When we started with a more specific focus and schema (and switched to Ent as our data access layer), the question to remove GraphQL was not discussed, but over time we found that supporting it was a lot of effort when the REST API can do everything we need it to.
If you know front end already or full stack as it were, then here would be a strong example I believe: https://github.com/mermaid-js/mermaid-live-editor but if you were looking for an edge on frontend, don't. Just pick React, Vue, or Ankler and turn the docs inside out. The difficutly goes Anger > React > Vue and most FE is written with Typescript, so hopefully I am not patronizing but unless you are a designer, the FE framework or library you use doesn't matter unless it's obscure and you don't have experience yet. Svelte it obscure but hopefully coming into mainstream soon.
Mermaid is mainly a frontend situation so for good go code I would suggest looking at caddy (https://github.com/caddyserver/caddy) just because it's open source and a lot of people are resorting to it because of the speed and efficiency of Golang. the Go-ethereum protocol is pretty cool as well, but that is truly just a repo of modules (good code tho!). Do understand that Golang doesn't require the implementation Rust requires but types are much more severe. Meaning you can paint yourself into a corner and really hurt your development time (tried to create an enum in API and creating them in Golang is literally torture); however, it has a vast array of tools so the idea is conceptualizing all mission-critical pieces rather than remembering how to write pieces of code or worry about condensing code.