Hi everyone, I'm playing with the idea of building an open source backend server generator. It will take in table descriptions as well as cloud function names and generate a fully operational backend server, with:
It will generate a folder you can then deploy to a hosting service such as heroku, digital ocean or aws and Voila! you have your own backend server, without tying into a serverless or cloud function provider. It won't have the same support as these providers offer but it will be free and flexible, which I think can be valuable for MVPs and side projects.
I wanna build it mostly as a technical challenge, because I think it can be cool. But also wanted to get general feedback, what do you think?
Also if anyone is interested in contributing to the project - let me know!
It looks like you're building a headless CMS generator. I'm saying that so you can search around and maybe it will help you with researching your potential audience. I think Content Management System resonates with a lot more people.
Why are you opting for a "generator" and not a "customizable solution"? I'm thinking that DX-wise, having a generator can become complicated really fast as I would assume it will be a sort of wizzard-like interface to generate the project. That means it can become exponentially complicated after you add new features. Have a look at something like Strapi maybe you'll get some ideas.
I'm just passing ideas around, so take my comment through your own lens. Best of luck with the project! 🙌
ah wait, after looking more into this I realize this is not what I mean. While the implementation details would share some similarity, I do not mean for this to be a CMS but actually used for user data.
For example let's say I'm building an app that allows users to store a list of their favorite websites (like a glorified bookmark app). You can use what I'm working on to generate a backend table called users with id, and a table called websites with a user id, a url, a title and a short description. It will also generate the endpoints for creating, updating and deleting these records. A fully functional backend solution ready to be deployed.
Gotcha 👌Could work for rapid prototyping some ideas if you can focus on the ease of deployment after an app has been generated
yeah that's what I'm thinking, an easy "get started" that leaves the power and flexibility in your hands. I'll put a post on when I have the initial version working :) thanks for the input, helped me clarify my usecase
ah very cool! I wasn't aware of Strapi, it does look pretty close to what I was thinking of.
Sounds good - I try find generators on https://yeoman.io/ before starting a project but recently there doesn't seem to be as much activity with the generstors... i.e. the generators seem more stale. It might be worth considering a backend that overlaps yeoman generators? It's an already established project and your project idea could rekindle efforts to update current generators to recent techs etc... Either way, its a good idea.
I think this sounds great - but it really depends on what you generate whether I will consider using it ;)
Maybe there is some overlap with https://yeoman.io/ ?
Reminds me of a service called knack (knack.com) It is a paid service.
Conceptually it sounds good. But I'll admit, I'm sceptical at how well it will work. I'd really think through my target audience. Calling it backend attracts techies (that's why I'm reading this), yet they like puzzling with backends. And then there are less technical users who are attracted to no-code. I expect (test!) they'd like this if named appropriatelly.
that's a very interesting perspective. I actually started by thinking of it as a no-code or a "democratized" serverless solution. However, this does require some level of technical skill to then deploy and maintain (not to mention implementing the cloud function hooks) which might be challenging for a non-techie.
I wonder if it won't be a nice tool even for full stack devs to generate in 5 minutes all the basic set up usually needed. I can honestly see myself using this tool to get started quickly on a new project.
So yeah, I think positioning of this solution is still an open question - who is this for...
its great idea keep working on it man .