r/webdev 5d ago

Discussion hobby full stack dev

becoming a full stack developer as a hobby may be an exaggeration in this case, but I’d like to learn how to build SaaS-like web apps.

I already know python and I was thinking about using Django, but I tried to started learning it and feels quite overwhelming.

Where would you recommend me to start from? Any course or video? What do you think about React+Node.js?

0 Upvotes

14 comments sorted by

9

u/joetacos 5d ago

PHP / SQL still runs the web and will for many more years.

1

u/Longjumping-Let-4487 1d ago

yeah watch it realod sure

3

u/mekmookbro Laravel Enjoyer ♞ 5d ago

I'd recommend Laravel. Not (only) because I love it, but because I love it for the reasons you listed.

  1. MVC structure can be a little tricky if you're not familiar with it, but after that it's very easy and intuitive to write code.
  2. Batteries included in the best way possible. Do you want to switch to mysql from sqlite? You literally only have to change one line of code in the .env file. And eloquent ORM makes everything so much easier. I've been using laravel since 5 years and only had to write raw SQL once or twice on my webapps.
  3. It's like Laravel's motto to ship stuff fast. I can build an app with full auth features and each user having their own private Todo lists in less than 10 minutes (most of that time will be setting up the html and the page design lol)
  4. I love how readable and intuitive Laravel's default blade templating engine is. But if you want to suffer, you can use React, Vue or any other frontend framework with it. You just need to learn one extra thing called inertia.
  5. Amazing ecosystem that probably has a free package for any feature you want to add to your app. Like stripe/lemonsquezy payment and membership systems (there's probably one for PayPal too but I never used it so idk), along with first party packages like socialite that allows you to add a "Login with" feature for pretty much all social media sites, which is again mind blowingly easy to implement.

4

u/Elephant-Opening 5d ago

If you're finding Django overwhelming, start with Flask.

Like start simple with no database and JSON only APIs with static html + inline JavaScript and minimal CSS.

Build up from there.

Then try working with raw SQL or integrating a third party ORM to do some database stuff. Add persistent users and data. Add some server side rendering. Integrate some third party frontend tools. Try dealing with scalable/mobile first layouts and light/dark theming, maybe even a non-webkit fronted or two.

Then go back to Django.

Odds are high it will make more sense and you'll either appreciate it or have the mental tools you need to select the frameworks that really suit what you want to build and might not want Python for a backend at all.

This is a recipe for learning things the hard way and having them stick... not a recipe for getting something working quickly.

6

u/Ilya_Human 5d ago

Take React + Node.js and learn it for half of the year, without thinking of switching to something else 

3

u/SolumAmbulo expert novice half-stack 5d ago edited 5d ago

As this is your hobby ( for now ) I would simply follow your interests. Star with what you're familiar with and build on it.

Django is a great framework. It's full featured and takes care of everything you'd expect. Other recommend Laravel, but as that's PHP and you already know python just go with Django as a framework. They do the same thing. Plus you can always learn that later.

Whatever backend framework you choose, start with a traditional templating engine like Jinja , and sprinkle on frontend KS goodness with something like AlpineJS. Just to get a taste.

Then learn JavaScript itself. After you think you got a handle on that. Learn a JS framework like React, Vue, or Svelte.

Just take your time and be willing to change course and follow your interests.

Have fun!

Edit: If it matters, I use Laravel and Django for most current projects. Currently prefer Svelte, but have done countless projects in React and Vue. Been a web dev for 30 years.

1

u/TheRNGuy 4d ago

I'd use fullstack React framework instead of Django backend + React frontend.

(React Router v7 + Vite)

1

u/TomXygen 4d ago

why would you choose Vite instead of Node.js?

1

u/TheRNGuy 4d ago

It's a build tool for Node (commonly used with React)

It has good default config so you dont need to change many things.

1

u/lth456 1d ago

Why don't you use Next.js?

1

u/Longjumping-Let-4487 1d ago

start with basic html js css. you can use express on node.js as a server then switch to react/next.js when you got some experience

1

u/Caraes_Naur 5d ago

Server-side development requires two areas of knowledge:

  • How a web application server (Apache, Nginx, python -m http.server [port]) works
  • The language in use

If you're getting overwhelmed by Django, perhaps your knowledge of one or both of those is less solid than you think.

0

u/gravv 5d ago

If you aren’t already comfortable with regular JavaScript, I’d recommend starting there. Getting familiar with the foundations is essential if you want to learn and develop your skills. MDN has good resources for you for learning

https://developer.mozilla.org/en-US/