• by matt_s on 2/15/2021, 3:17:55 PM

    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.

    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.

    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.

    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.

    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.

  • by pid_0 on 2/15/2021, 4:45:23 PM

    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.

  • by soulchild37 on 2/15/2021, 5:41:53 PM

    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.

    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

  • by jaredcnance on 2/15/2021, 2:37:59 PM

    If you’re wanting something super simple check out UserBase https://userbase.com . You haven’t given a lot of requirements here so there’s not much to go on.

  • by PaulHoule on 2/15/2021, 12:24:48 PM

    Variety and volume of the 'data' concerns me. Are we talking 100 rows or a billion rows?

    Does the system store the data the user is working on permanently or just the metadata?

  • by dyeje on 2/15/2021, 3:26:32 PM

    Any of the batteries included frameworks should be just fine to get started. You know Python and PHP, so I'd check out Django and Laravel.