I want to start a hobby project which needs to have as less development time as possible. I would want social media login (sign up via email, fb, google accounts, etc.), user management, connecting to a posgres (or even sqlite) db, deployments (perhaps to a paas like cloudrun, heroku, aws beanstalk etc.), db migrations etc. all already automated. If there is some automation for the API body and parameter validation from a openapi spec that would be even better.<p>I just want to write the core business logic for the API handlers and leave everything else to the framework. I do not mind (and actually would prefer) if the framework is opinionated and works well for its intended goals.<p>I prefer Typescript/JS, Golang, Kotlin in that order. If no other option, then python3 would be an acceptable choice.<p>Any recommendations ?<p>tldr: I want a batteries-included API framework with users management, session management, db management, openapi integration. Help ?
I work on exactly this at work using Python/Django along with:<p>- Python Social Auth: handles social login<p>- Django Rest Framework: does all the heavy lifting for API dev<p>Django takes care of all of your other requirements such as user management, DB migrations, interaction with both PG and SQLite via both the ORM and raw SQL.<p>This app runs on Heroku and is quite easy to deploy.<p>You mention wanting to generate the API from OpenAPI spec, but this is not needed with DRF. Instead, the API is generated from your models + sterilizer + view code which in turn generates an OpenAPI spec for documentation purposes.<p>I've worked in a number of other languages/frameworks and I can't imagine anything that does more heavy lifting for you than this stack, which in turn lets you focus on the business logic.<p>More importantly, this stack is battle tested, and very well documented (except for perhaps Python Social Auth, which could use some doc love).
Those questions read a lot like questions I would ask myself in order to postpone actual work on my hobby project.<p>Use whatever you are already fluent with.
This, of course:<p><a href="https://kentcdodds.com/blog/how-i-built-a-modern-website-in-2021" rel="nofollow">https://kentcdodds.com/blog/how-i-built-a-modern-website-in-...</a><p>/sarcasm <—— have to add this for the clueless children.<p>But seriously:<p>As others have mentioned, Rails, Django, Laravel, Firebase.
I would go with Rails.<p>Authentication via Devise including social login, other social/gamey aspects can me quickly implemented with gems.<p>MVP withing a week for sure.