You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For in-depth info on the architecture of the project, please see the [mikestefanello/pagoda](https://github.com/mikestefanello/pagoda) repo. There are some key differences, but since this was originally a fork, 99% of it still applies. I am working on creating clear and actionable documentation, but that is quite time-consuming, so don't hold your socks.
41
+
For in-depth info on the architecture of the project, please see the [mikestefanello/pagoda](https://github.com/mikestefanello/pagoda) repo. There are some key differences, but since this was originally a fork, 99% of it still applies. I am working on creating clear and actionable documentation, but that is quite time-consuming, so don't hold your socks.
42
+
43
+
### Motivation
44
+
45
+
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.
46
+
47
+
#### Why the Hell Do We Need Another Boilerplate?
48
+
49
+
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.
50
+
51
+
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!
52
+
53
+
> **Warning alert!** this project is in active development as I am adding things after first trying them out in prod for [Chérie](https://cherie.chatbond.app/), a relationship app to grow your couple. Note that I would welcome any help to develop this boilerplate ❤️.
54
+
55
+
### Features
56
+
57
+
#### 🌩 Realtime
58
+
- Support for HTMX SSE extension
59
+
- Can be used with vanilla JS
60
+
61
+
#### 📬 Email Sending
62
+
- Support for SMTP and Resend API
63
+
- Pre-made templates for account activation, password reset, and newsletter.
64
+
65
+
#### 💸 Payments
66
+
- Stripe integration for monthly subscriptions
67
+
- Internal subscription management
68
+
69
+
#### 🏗 Background Tasks
70
+
- Offload heavy tasks to background
71
+
- Realtime or scheduled
72
+
73
+
#### 🔔 Notifications
74
+
- Real-time or scheduled
75
+
- Supports push notifications to PWA, native iOS, and native Android
76
+
77
+
#### 🔐 Auth Done For You
78
+
- Email/Password logins
79
+
- Ready-made private user area
80
+
81
+
#### 📂 File Uploads with AWS APIs
82
+
- Internal management of uploaded files
83
+
- Host files and images on any S3 compatible service (e.g. Backblaze)
84
+
- Pre-signed URLs!
85
+
86
+
#### 📱 Mobile Ready App
87
+
- Fully PWA-ready with internal FCM and push subscriptions management
88
+
- IOS native wrapper with push notifications and payments
89
+
- Pre-signed URLs!
90
+
- Styled with mobile/tablet/desktop in mind
91
+
92
+
#### 💅 Components and Styles
93
+
- Light + Dark mode
94
+
- Many components available (HTMX, AlpineJS, Hyperscript)
95
+
- 20+ themes with DaisyUI
96
+
97
+
#### 🪂 Drop-in any JS App
98
+
- Designed for island architecture. Drop in any JS app and take advantage of already built infra
99
+
- Currently has SvelteJS and VanillaJS build step and static file serving
100
+
101
+
#### 🛢 AI-ready Database Layer
102
+
- Postgres support (i.e. Supabase, Neon etc)
103
+
- Vector-ready (PGVector integrated) for your AI/ML applications!
104
+
105
+
#### 🧪 Go Tests and E2E Tests with Playwright
106
+
- Go tests with automatic setup/teardown of DB container
107
+
- Playwright integration tests to make sure you don't break your previously working UIs!
108
+
109
+
#### 🚀 Deploy Anywhere. Easily.
110
+
- Deploy from bare metal to Cloud VMs with Kamal
111
+
- Single-command deploy after quick setup
112
+
113
+
### Tech Stack
114
+
115
+
#### Backend
116
+
-**[Echo](https://echo.labstack.com/)** - High-performance, extensible, minimalist Go web framework.
117
+
-**[Ent](https://entgo.io/)** - Simple yet powerful ORM for modeling and querying data.
118
+
-**[Asynq](https://github.com/hibiken/asynq)** - Simple, reliable, and efficient distributed task queue in Go.
0 commit comments