A professional, enterprise-grade SaaS application with a powerful plugin architecture, Supabase integration, and modern reactive UI.
Built with production-ready technologies
Everything you need to build and scale your SaaS
Built-in authentication with Supabase Auth. Support for OAuth, SSO, and MFA.
Extensible plugin system for easy customization and feature additions.
Built with Go and HTMX for optimal performance and minimal JavaScript.
Seamless database and real-time subscriptions with Supabase.
Beautiful, responsive UI with Tailwind CSS and Alpine.js.
Clean code structure, comprehensive documentation, and easy to extend.
Extensible system for building modular applications
Plugins register themselves with the plugin registry on startup.
Each plugin initializes with access to config, database, and logger.
Plugins define their own HTTP routes and handlers.
Plugins can respond to system events via hooks.
// Creating a Plugin type Plugin struct { *plugins.BasePlugin } func NewPlugin() plugins.Plugin { return &Plugin{ BasePlugin: plugins.NewBasePlugin( "myplugin", "1.0.0", "My Plugin", "Author", ), } } func (p *Plugin) RegisterRoutes(r *gin.RouterGroup, auth gin.HandlerFunc) { r.GET("/", auth, p.handler) }
Clean, organized codebase following Go best practices
saas-platform/ ├── cmd/api/ # Application entry point ├── internal/ │ ├── config/ # Configuration management │ ├── handlers/ # HTTP request handlers │ ├── middleware/ # Gin middleware │ ├── plugins/ # Plugin system core │ └── supabase/ # Supabase client ├── pkg/ │ └── logger/ # Structured logging ├── plugins/ # Plugin implementations │ ├── dashboard/ # Dashboard plugin │ ├── users/ # User management │ └── settings/ # Settings plugin ├── web/ │ ├── static/ # Static assets │ └── templates/ # HTML templates └── migrations/ # Database migrations
Set up the project in minutes
git clone <repo>
cd saas-platform
cp .env.example .env
# Edit .env with your config
go mod download go mod tidy
go run cmd/api/main.go
# Server starts on :8080