Icon GoShip

Introduction

Build the same rich interfaces you would build with Javascript frameworks, but with HTML and Go. Limit the number of tools you use. Develop rapidly.

Why the Hell Do We Need Another Boilerplate?

Well, I noticed that there were none for Go. Now, I know most Go folks like to build it all themselves. And while I love doing that myself, I have many project ideas for which I just want to build that specific project, not the entire infra surrounding it, like auth, notifications, payments, file uploads etc. This project has served me well in bringing to production many projects so far. It has evolved far beyond what I originally planned for, though there is still so much potentional to expand on and implement for.

If you'd like a no-nonesense (or not too much?) starter kit to get your next project to production ASAP, while also using awesome technologies like Go, you've found a suitable starting point!

Features

  • Support for HTMX SSE extension
  • Can be used with vanilla JS
  • Support for SMTP and Resend API
  • Pre-made templates for account activation, password reset and newsletter.
  • Stripe integration for monthly subscriptions
  • Internal subscription management
  • Offload heavy tasks to background
  • Realtime or scheduled
  • Real-time or scheduled
  • Supports push notifications to PWA, native iOS and native Android
  • Email/Password logins
  • Ready-made private user area
  • Internal management of uploaded files
  • Host files and images on any S3 compatible service (e.g. Backblaze)
  • Pre-signed URLs!
  • Fully PWA-ready with internal FCM and push subscriptions management
  • IOS native wrapper with push notifications and payments
  • Pre-signed URLs!
  • Styled with mobile/tablet/desktop in mind
  • Light + Dark mode
  • Many components available (HTMX, AlpineJS, Hyperscript)
  • 20+ themes with DaisyUI
  • Designed for island architecture. Drop in any JS app and take advantage of already built infra
  • Currently has SvelteJS and VanillaJS build step and static file serving
  • Postgres support (i.e. Supabase, Neon etc)
  • Vector-ready (PGVector integrated) for your AI/ML applications!
  • Go tests with automatic setup/teardown of DB container
  • Playwright integration tests to make sure you don't break your previously working UIs!
  • Deploy from bare metal to Cloud VMs with Kamal
  • Single-command deploy after quick setup

Tech Stack

  • Icon for echo v4 - high performance, extensible, minimalist Go web framework
  • Icon for ent orm- simple yet powerful ORM for modeling and querying data
  • Icon for Asynq task queue- simple, reliable & efficient distributed task queue in Go
  • - payments solution
  • Icon for HTMX- build modern user interfaces with minimal javascript
  • Icon for Templ- a powerful type-safe Go templating language
  • - a utility-first CSS framework for rapid implementation
  • - a lightweight javascript framework to sprinkle localized logic and state
  • - Postgres
    • - host your DB on Supabase on any other hosting platform compatible with Postgres
  • Icon for S3- host files and images on any S3 compatible service (e.g. Backblaze)
  • - for task queueuing, caching and sse events