Could you recommend me a light web-stack for my web app?

7 points by laxmymow ↗ HN
I'm making a small free web app in Django with bootstrap for frontend for small-size farmers to exchange services in between each others, the app will have no more then a 1000 users. Along the way i stumbled with a lot of problems:

* phone version * chat in with selected groups of users * deployment and security

I tried making it in django-rest with vue or using uvicorn and django-chat and even implementing my own chat system but it complicated the whole project a whole lot. Is something like firebase or aws lambda with preact or petite-vue with ionic(for phone version) better for these kind of small apps ? I'm looking for a different web framework that will have all these things included with minimal code required. I just would like to get it shipped as fast as possible. Do you have any suggestions ?

Thanks in advance

8 comments

[ 0.27 ms ] story [ 27.9 ms ] thread
Firebase certainly could do the job / works for fast development if you put the time in to learn firebase.

IMO Firebase's advantage is speed of development with hosting options (not required), auth, security, and all sorts of handy dandy things that speed up the process / allow you to add features.

The real catch is what you mean by "minimal code" the time you have / how fast you'll come up to speed with firebase. It's not hard but also depends on how comfortable you are with firebase / learning something new. Just make sure you do some reading about the firebase way of doing things and so on. The biggest issue I find with trying something new is diving in and realizing I wasn't doing it the "<insert framework>" way of doing things.

I worded it wrong. What i want is the least complexity. I'm based in Poland and i just want to make an app to help organize group of farmers that have different equipment but live close to each other to avoid buying new farming equipment (which is REALLY expensive especially to small time farmers), and show the history data of what services were done for who and when, (harvesting fertilization cleaning the fields out of rocks etc).
Firebase would probably give you everything you want in one ecosystem.
Go with what you know. A light webstack won't accomplish reactive layouts (for small and large screens) along with supporting easy deployment and security.

Go with what you know, and just build it. Or hop on one of the contract developer sites and hire someone to do the simple app for ya. Firebase is an option, sure, but again, comes with learning tools and such..

(comment deleted)
Some of this seems like a "grass is always greener on the other side" problem: a chat system is always going to be complicated. There's no magic framework that solves complexity, especially if you want real time chat.

There's plenty of useful and interesting rabbit holes to explore: CRDTs, tools like Y.js, web sockets, SignalR, etc.

I'd suggest taking a look at SignalR over Azure Functions as a good option, but it isn't a simplifying option. It gets it shipped faster when I write against, but that's as much because I'm familiar with it. The grass isn't always greener on the other side, you just get used to the shade of grass on your own side.

That's all unrelated to things like better responsive design for phone. That's a different section of the stack entirely. You looked at Ionic, but there's the classics like Bootstrap, and a deep rabbit hole of responsive design options. I think CSS Grid is one of the easiest tools in today's CSS toolbox for responsive design, but I also know that learning it isn't always straightforward and sometimes you have to "unlearn" habits from previous solutions such as Bootstrap's grid and CSS Flexbox to make the best use of CSS Grid. Again, all of that is various versions of "the grass isn't always greener on the other side". What do you have time to learn? What are you interested in learning? Most of those frameworks don't just "do the work for you", complicated or not, but expect you to learn their way of doing the work.

It may not even be that you are looking for "a web stack", but an "outsource solution": can you outsource chat to a vendor that does chat well? Are you trying to build a website when a sufficiently permissioned Discord or Slack group would suffice? Maybe you just need to deploy a Discord/Slack bot instead of "a website"?

Or is it that you still want a web page but you want something embeddable in it? There are much more "fully featured" web-based chat apps that speak XMPP or Matrix you can try to find and just "plug into" your website.

Go with what you know, outsource what you can, and the grass isn't always greener on the other side. You can't avoid complexity altogether, there's no magic shortcuts to most complex tasks (and chat is complex; responsive design can be complex; deployment and security will always be complex).

Thanks for such a broad reply. Now I think firebase will do.
Next.js with Prisma ORM - Dream team, you get SSR, Typescript Typings ootb.

If you host on Vercel you need a Postgress somewhere (aws, neon, Heroku, fly.io…)

If you host on own vps: use nosql and litestream for backup to s3(backplate b2) . Nosql is blazing fast on ssd vps