I hear you because I needed the same, with absolutely no experience in web apps. Please listen to other comments first. If this does not help: I used github.com/tiangolo/full-stack-fastapi-postgresql - it is a Docker-Stack that can be deployed through Gitlab CI on Docker Swarm. Not that I had any experience in these systems - but it directly worked and I had a Progressive Web App (PWA) with CRUD, SSL certs, Queue, Reverse Proxy and everything with it in one day. This thing still runs after 2 years.
I may have to look into this. I was already feeling pretty good that I was able to send http requests to my app. But I guess this solves the “how to connect this to the world” side of it? I haven’t looked at it but I assume you still add your logic right?
Yes, for the actual CRUD there exists a template, but _what_ you want to create, read, update and delete must be defined first (e.g. text and images). You would need to add display-syntax, too - to present what is read to users.
If you just need to display text+image posts, have you thought about a static site generator? E.g. Hugo, Mkdocs, Jekyll.. you can hook these up through Gitlab/Github Continuous Integration and have it automatically serve site updates on new git commits.
There are many themes. Mkdocs material is a static site generator that is very flexible, more oriented towards tech documentation. Most Jekyll/Hugo themes are for blogs, but it is not limited to this. It can be combined with search.
If it requires a database, however, a static site generator appears the wrong direction..
I recommend you Blitz.js written in React and Next.js for this purpose, there is even user registration and login ready, so you don't have to worry about that. Blitz.js is a Fullstack Freamwork inspired by Ruby on Rails.
I love JavaScript and it is what I do full time, but I think still *nothing* beats Rails or Django for this.
The problem with Blitz, and similar frameworks is that they are not stable enough, in the sense that being attached to the node ecosystem means whatever you build today will be outdated by next year.
I find nowadays Rails with all the hotwire stuff or Django and something like Unpoly is unbeatable regarding productivity for standard CRUD apps.
If you're familiar with Rails, stick with what you know. Often that will be faster than learning a new tool. If you want to diverge and learn something new, you can deploy a full stack application using React/Next.js on the front end and MySQL/PostgreSQL on the backend is a few minutes using Vercel.
24 comments
[ 4.1 ms ] story [ 64.5 ms ] threadIf you don't know any frameworks, no code away.
If you just need to display text+image posts, have you thought about a static site generator? E.g. Hugo, Mkdocs, Jekyll.. you can hook these up through Gitlab/Github Continuous Integration and have it automatically serve site updates on new git commits.
I, too, miss great desktop apps, but in this precise scenario, what would be the point of making one ?
https://blitzjs.com
New Blitz apps come with all the boring stuff already set up for you! Like ESLint, Prettier, Jest, user sign up, log in, and password reset.
The problem with Blitz, and similar frameworks is that they are not stable enough, in the sense that being attached to the node ecosystem means whatever you build today will be outdated by next year.
I find nowadays Rails with all the hotwire stuff or Django and something like Unpoly is unbeatable regarding productivity for standard CRUD apps.
https://vercel.com/integrations/planetscale
https://vercel.com/integrations/supabase
- https://saltcorn.com/
- https://www.budibase.com/
You could build a responsive CRUD app in a few minutes.
They also support a number of data sources (PG, MySql, Mongo, Couch) and have their own DB.
Also, they're open source: https://github.com/Budibase/budibase
I always recommend Rails or Laravel.
Both are very similar.
I think Laravel has the better community, better packages(gems) now, and is faster to learn, get up to speed.
Check out Laracasts.com.
Also check out forge.laravel.com it's an app for spinning up and deploying to servers.
And there is valet for local development.
Amazing ecosystem and community.
Good luck with your app.