- Static front-end hosted on render.com
- Back-end web service on render.com
- Postgres on (you guessed it) render.com
Each is an easy-to-manage item on the dashboard. They can each be scaled up quite a bit through the web UI if needed
Front-end and back-end are subdirectories of a single repo. Deploys are automatic on push
For local development the front-end can be served statically by a filesystem-based HTTP server
Back-end is Deno, so there's basically no configuration or build step or anything; running locally is `deno run`. It doesn't have to be Deno; Go, Rust, and others only need a single compiler/runtime on the system. Just pick one like that with a single system dependency and install it manually, I promise it'll be fine
No local Docker is needed at all
Another thing I love about this setup is that - just like it's trivial to run it locally - it's trivial to move to a VM or another provider because it has bare minimum infrastructure concerns/entanglements