Sorry for the long post I felt like I had an actually decent opinion to way in here with though.
A project for yourself to develop solo as far as the back end and front end knowledge goes is pretty in depth. I have been doing programming and web design/development as a hobby for about 4-5 years now and worked with a web host for a year of that. I think the best thing for you would be to really, really, sit down and give Node another go. That node tutorial can be frustrating, but that’s kind of programming as a whole.
For example, I myself used Node and React the other day when I wanted to look into what it is like to develop a Shopify App. (I do a little online business as well.) That would just message customers on WhatsApp when they left a cart filled with stuff and not check out. Pretty simple.
The tutorial was solid on how to set up the API, and how to organize the code, but there were still issues that came up.
For example, I needed to make a navigation menu for the app settings and how they effect the site. However, the tool to do so was built into Shopify, I hadn’t coded anything in to configure it.
But, when you clicked on the button, it sent you to website.com/blahblah/ - Instead of website.com/blahblah
The key issue being the missing back slash.
So I spent, literally 7 hours googling, stack overflowing, forum searching, and eventually called Shopify and they gave me their official help forum, then I found the issue solution in like 5 seconds.
The point of that was even if you do end up understanding Node and React later, it won’t matter because smaller more intricate problems will arise. You have to chip it away one google search at a time, there’s no way to really be prepared for it. If you want to develop something, you have to wrack your brain on it for a bit.
The first app I successfully made was a web app called Shittips.com (funny story)
I was a salty 21 year old delivering pizza in a rich neighborhoods and I was getting really annoyed.
These people had beautiful houses and cars and like half the time I wouldn’t get a tip. I would just go back and seethe and be pissed off. I worked with a friend and I was like, “We need a way to be able to tell if a house is a sh*tty tipper before going, so we can judge whether or not it is worth the effort to get their fast.”
And that’s just what I did.
You were able to enter an address, geolocate it with google maps api, and at the same time a MySQL / MariaDB / PostgreSQL call was made against the address to find any logged tip history. It would then produce that output as a list you could scroll through. And it was optimized for mobile.
My big stuck with that was it worked on my local machine, but once I put it on the server, it stopped working. The database query 404’d and it took me LITERALLY 4 weeks to fix the issue.
The big reveal was you needed to define the socket for the database to connect to on the server where you did not in the development environment. I also, figured that out myself, and got to be the one to share that on stack overflow, as no one else could figure it out. (added bonus to ego.)
With this, I used Node.js and Express.js, and one of the databases I mentioned, I like PostgreSQL the most if you’re looking for one. MariaDB is like a simple MySQL, idk tbh they all perform the same for what I do with them.
So I would say, make something you would use, and also explore your interests outside of coding/developing. I found a lot of uses for this knowledge once I understood automation, and I just say like, “Damn I could just write a program for this.”
Some practical development topics / tools to explore are:
- Linux
- Bash (the popular associated shell for Linux)
- DNS
- Databases
- Python (really, it’s a beautiful language to write)
- Buy and play with a Raspberry Pi
I hope those ideas inspire you a little bit, just some fresh perspective outside of like, “Reverse this string and do encryption” blah blah blah exercises. You just need to start, and not stop. You don’t get the results of push ups from reading about push ups, you have to do the push ups. Same with developing.