A first look at strapi
it is cool, but some parts of it are confusing. Lets ignore those parts. 😅
I think strapi is cool. But it is a bit overwhelming for beginners. Because you need to make an admin account locally, it feels like such a formal act. So the local dev instance feels like it is something serious 😅 Afterwards people are confused why the data does not get "persisted". Because obviously the deployed instance and the local dev database is not the same. Take a look at this thread in the strapi forum for example: https://forum.strapi.io/t/im-new-to-strapi-and-trying-to-get-it-to-production-on-render-com/20727/5?u=spirobel
I think we could do two things to improve this situation:
Remove as much unnecessary information from the installation process as possible. Strapi abstracts databases and database schemas away. So people dont need to know that mysql and prostgres exist. All they need to know is strapi.
Frame the local dev admin interface as something different from the hosted admin backend in production. The cleanest solution would be to change the code behind it to make the user experience between the two different. But I recon this is not possible because it is too much work. But aside from this we can explain this difference more clearly and give people the right vibe about it. 😅 So they dont feel disappointed and confused when the data from the local dev instance does not show up on the server.
I dont want to sound like an sqlite and render.com shill, but this is currently the only option to deploy it without learning that different databases exist.
Here is why I think sqlite is the way to go for production:
recently the sentiment became more and more common that it is a good idea to do this. See these 3 hackernews posts for example:
https://news.ycombinator.com/item?id=31318708
https://news.ycombinator.com/item?id=26580614
https://news.ycombinator.com/item?id=31152490
It is a lot easier to get started this way and it will be fine for millions of records. It should really be the default. Only a very small minority of people need to know that postgres, mysql and all this other stuff even exists. The average dev will be served well with sqlite.Â
Here is a short video that explains how strapi can be deployed with sqlite: