How to choose a backend stack
Soon I'll start planning the development of a Chrome extension
This particular one will require a backend, database, auth and payment processing with PayPal
Considering I've been in frontend for over 10 years, I'm not proficient in backend and I need some help learning how to plan stuff out, what tech stack to choose and best practices, as I don't want to leak user data
12 Replies
I think it's probably best to choose something you are more comfortable with. If you already know JS you can use Node.js with some framework like Express.js or Nest.js, both very mature and with a rich ecosystem of third party modules.
A perhaps more robust solution out of the box is Laravel.
I have 2 recommendations:
1. Don't let this be your first backend project, security is very important and easy to get wrong
2. Try to do as little as possible yourself when it comes to security, use an OAuth service, use a payment gateway, don't try to be clever you won'd do a better job than them
and like Joao said, pick something you're comfortable with, if you only know JS then use it, you could even make your life easier and use a meta framework like nextJS if you're used to react
with security there's a few options, perhaps the simplest could be https://supabase.com/ it's a service that includes a few things, among them, auth and database (PostgreSQL)
For the time being, should I try to get a backend partner on board who is committed to the project, so that I know that he knows what he's doing?
The thing is, I believe in my project such that when it will be production-ready, it could generate a lot of revenue
I think it'll be hard if not impossible to bring someone with experience on promises of future revenue, you could get someone with less experience to jump on board tho
I mean, it's not like "I believe" I will be able to generate revenue
The current version of the extension, which is far more basic than what I plan out, has 6000+ users, and once my project will be ready I will use another Chrome extension of mine with 100,000+ users to promote it
So basically, what you're suggesting for learning purposes is to just make a smaller project that will not go into production to get my feet wet, and later on to attempt to get a backend dev proficient in backend infrastructure, databases, authentication, payment processing and security, so that I know he's done a great job
I mean, if you want to make it into production you should have some experience even if it's only on your localhost for practicing right?
Supabase sounds like a strong candidate as well
If you want a bit more control but things still handled by you, try Laravel. It's a batteries-included framework that has many features, ecosystem and good defaults.
You would have to handle hosting as well however, which is also something Supabase handles for you.
I dislike PHP though, I tried it in the past
You tried PHP or you tried Laravel? I must say it has been nothing but great for me, very comfortable to use.
But if you don't like it for whatever reason, then Supabase is probably best then as you can use whatever language you want.
Tried PHP in the past, didn't try Laravel
Ok, I'll check out Supabase, thanks!
"Check" as in "I'll watch tutorials about it that explain what it is"
I think you might want to check it (Laravel) while you are at it. At the end of the day you should use the proper tool for the job. Just saying 😄
I mean if that's the case we all know the proper tool is
Rust, btwâ„¢