The first website I ever built (CodeQuizzes) still has some users and I'd like to migrate it to a tech stack that's easier to maintain: https://www.codequizzes.com/<p>It's a Rails app that's hosted on Heroku. It's a simple CRUD app that's backed by a Postgres database, only a few lines of JavaScript. I am a data engineer and don't have the time to keep up with the constantly evolving Rails ecosystem. I don't need a web framework that makes breaking changes to add new features.<p>* I know Python, but guess that Django is a constant maintenance effort after looking at all the releases<p>* I also know Scala, but find it really difficult to maintain, as I noted in this thread: https://news.ycombinator.com/item?id=26539508<p>* I'm working on a Node / React app right now and it seems it will also require constant maintenance<p>I'm leaning towards Go. From what I understand, Go really cares about backwards compatibility and lets you build a CRUD app that'll continue to work with minimal maintenance. Interested in thoughts on the best technology for this.
I've had a Django app running for 3+ years (stick to an LTS release) and it requires a very occasional security update (months in-between) but generally it's a 5 minute change to update the version, run the test suite and then push to prod
<a href="https://postgrest.org/en/stable/index.html" rel="nofollow">https://postgrest.org/en/stable/index.html</a> for the backend? You'd still need to write the front end of course.
Other than security updates why can't you just freeze your dependencies as they are now? Or am I understanding you want to continuously work on it but don't want to have to fix forward version incompatibilities?
I think you’re describing needs similar to an Enterprise, which primarily use .Net and Java.<p>I might encourage you to look at ASP.NET if you really want minimal maintenance and a modern-ish experience.
This website seems simple enough that you could conceivably write the whole thing in plain HTML + vanilla JS, with the quiz data stored as plain JSONs that you either inline or dynamically fetch() as needed. You can do all that with or without a (frontend) web framework, up to you. I don't think you need a relational DB at all, unless there's some hidden feature I didn't see at first glance?<p>What's the CRUD aspect? If it's just the user login + progress saving, you could probably outsource auth and then store their progress as user-specific metadata, tied to individual question IDs. Doesn't seem like you need much of a backend at all. Maybe a cloud KV store at most (Cloudflare, etc.) or the free plan of some headless CMS.<p>If you really prefer a relational backend, services like ElephantSQL and Cloudflare D1 and DigitalOcean offer low-costed hosted Postgres that you don't have to maintain yourself (no updates, OS to manage). Instead of a full-blown backend, just write a serverless function that your frontend can talk to which will fetch from the database. But again it's easier (as in lower maintenace) to just use a preexisting solution or headless CMS.<p>Host your frontend anywhere, like Vercel or Netlify, since it's just static HTML + JS.<p>TLDR eliminate the backend parts that you don't need, and maintenance becomes a lot simpler. You don't need a backend stack or any other languages except HTML and JS.