I call my stack GETHAS: Golang + Echo + Templ + HTMX + Alpine.js + Supabase
Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
81–90 of 117 posts
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#82I call my stack GETHAS: Golang + Echo + Templ + HTMX + Alpine.js + Supabase
What's echo? It's impossible to look it up on the web
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#83Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#84Why does 'modern' nowadays mean 'host everything on managed services' like Vercel or Netlify? Why is running your own database so frowned upon? Is *SQL/SQLite so insecure that a default password-protected setup can be pwned within minutes? Managed hosting can give you a head start, but also increased costs. There are quite a few horror stories when it comes to billing.
It's a meme that running your own DB means that you'll get owned within seconds of going live, or lose all your data in the first day because fires in your data center are a daily occurence :-/.
It's the modern equivalent of "MongoDB is Web Scale".
> Managed hosting can give you a head start, but also increased costs.
Yeah ... buuuuuuut ... it's a very tiny head start.
Sure, you may save a few hours by using a hosted postgres service, but you save that only once over the entire lifetime of the database server!
IOW, if you set up a PostgreSQL server on a couple of cheap VPS instances, you can continue using that server for each new product until you hit performance/security problems.
I've got exactly one PostgreSQL server set up, and all my little experiments happen on that one server, with me creating new databases as and when needed.
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#85This article doesn't really help me choose and based on the title I expected it would. I don't think OP made a "hype" driven decision, but this is certainly one of the most popular modern stacks and what I would like to see instead is a comparison between the popular and less popular options and why OP chose exactly this stack.
What I overlooked is that while the platform might be popular and mostly trustworthy (such as Vercel), there are specific solutions like the Vercel Cron Job are still relatively new (released Feb 2023) and still not ready for serious use.
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#86If this article is to be believed, they are storing user passwords in plaintext.
nah, it's hashed and salted. otherwise just === not bcrypt compare import { compare } from "bcrypt";
If I wanted harden this setup, my next consideration would be either having a separate microservice that's purely responsible for auth, or using 3rd party provider like Cognito.
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#87NestJS with handlebars SSR templates, htmx, Postgres, containerised running on Google Cloud Run.
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#88More accurate subtitle: "Choosing the Right Tech Stack for a Lightweight Web App". There are way more use cases out there than a simple web or mobile app.
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#89I call my stack GETHAS: Golang + Echo + Templ + HTMX + Alpine.js + Supabase
What has your experience been like with them?
Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack
#90To me this is a valuable write-up because it (a) clearly describes paper cuts accumulated when building with unfamiliar tech and (b) showcases how much nonsense developers are willing to tolerate in the name of "new" or maybe "speed". Some of the paper cuts described include: - Inexplicable interaction between the data layer and a hosting service's environment variable - Migrations that don't work reliably - Cron job…
Most of my experience has been with a more "boring" stack, so I was interested in trying some of the more "hyped" technology choices, to see if I was missing out on anything.