I am a product manager with a software engineering background who haven't actively written code in a while.<p>I am looking to start a hobby project to build an application. And I want to get to something that is working for users with as little work as possible.
The app is mainly a data aggregator that helps users collect and consolidate data from multiple different sources. Users would create an account and connect data sources. Then they can view aggregated data from multiple data sources.<p>I am looking for a stack that gets me as far as possible with minimal work. I want to spend as little time as possible on anything but business logic and presenting data in a nice UI. I can accept something quite opinionated if that helps.
I would like a web app that handles user login and keeps some data for users. As well as integrating with 3rd party providers for data.<p>I would like to cover:<p>- Design system (that I can use in Figma) which translates into what the application will look like, and is easy to implement<p>- Boilerplate and project setup/structure (I want to spend time on features, not structuring code)
- Development of the UI (UI framework to work with the design system)<p>- Backend development (for the web app)<p>- Data persistance (i.e. a DB)<p>- User login (can I avoid reinventing the wheel to let users create accounts and login?)<p>- Development environment (I want to rapidly see and test what I create)<p>- Hosting (fine to run locally at first)<p>Additional nice-to-haves:<p>- Cross-platform development to allow me to add native apps for iOS and Android<p>I have not written code in a while. I have past experience in single-page JS applications (using frameworks that no longer seem to be popular). I have experience using node, Python and PHP for backend development. Could take the opportunity to learn something new if the benefits are big enough.<p>Please share your suggestions on full stacks. As well as your experiences and learnings.<p>Edit formatting.
For a hobby project, solo developer to start means it is a personal choice. If you pick a stack that is new to you, carve out time to learn.<p>Don't bother considering popularity. If you are familiar with PHP and Python, see what frameworks for those are the best choice. For Python or PHP I have heard Django and Laravel are good frameworks, no experience with them personally. Model-View-Controller is a de-facto pattern with web frameworks and usually the framework will dictate file locations, structure of code, etc.<p>You mention data aggregator and users connecting data sources - that sounds like where the most technical work could be in your app. If this is consuming API's then that is pretty straightforward but if you get into screen-scraping or handling multiple ways to aggregate content then the available libraries/tools in your language of choice might influence your decision. I'd look into how you want to aggregate data first, see what tools are out there to help you.<p>Most web frameworks will out-of-box meet nearly all of your requirements. I'd be wary of code generation from a design tool. I'm not in the "must hand code everything" camp - it will work for an initial app but after you start adding features and changing things in your code the design tool that generates code won't match.<p>If you're up for learning something new, I would advocate for Rails. Once installed (along with DB) it has generators which can "scaffold" the parts of the app. I would guess PHP/Python frameworks have similar things. Google around for tutorials on this and try them out.
Django without a doubt. It will handle ORM, frontend, backend, etc. It does the entire stack end to end and has built in migrations too, unlike Node. Please don't fall into the JS trap, it sucks. You can easily use django rest framework to redo the frontend with something like React later on without massive backend changes.
I used Rails + PostgreSQL + TailwindCSS / TailwindUI (design system) + AlpineJS (for reactivity, screw React). Deploy to Heroku for minimum hassle, but if you know some Ansible stuff, deploying it to VM is quite straightforward too.<p>Build and launched a web app in 5 weeks (using time after work and weekends), bonus is that I get my first paying customer three weeks after launch! And I have been iterating my app feature based on customers suggestion ever since
If you’re wanting something super simple check out UserBase <a href="https://userbase.com" rel="nofollow">https://userbase.com</a> . You haven’t given a lot of requirements here so there’s not much to go on.
Variety and volume of the 'data' concerns me. Are we talking 100 rows or a billion rows?<p>Does the system store the data the user is working on permanently or just the metadata?