Becoming a Full-Stack Web developer in 7 Months

Hello everybody!

I have build my first Node “App”. Yes it´s not an App yet, but I was able to set up routes and render some HTML with the handlebar.js templating engine. I was able to do a POST request to a mongodb and managed to save a Todo. I feel pretty happy about this, slowly things start to make sense.

Next week I will continue to build on this and will find out how to deploy that on my own server (yes I bought a 5$/month droplet from Digitalocean and still have got a domain :-). So far 1,5 month are done and I think I already became much better, even though I often struggle with the old problems like procrastination and fatigue after work.

Good results help with this issue :-).

I´m pretty stuck with node right now… anyone else had problems when learning Node? I get pretty stuck with redirects and how to combine the backend with the frontend. I even thought about quitting node.js and switching to Python and Flask, since it seems easier and I currently use some Python in my Job to automate stuff. But on the other hand I don´t want to get the guy who jumps from one thing to another.

I´m not quite happy right now with how I improve right now.

It is sunday again, so time for a new update. I did it… i quit… Node.js (for now). Yes I was quite frustrated and had a look at flask since it seemed to be easier to learn. And yes, for me it was easier to grasp and in only 2 days I archieved more than with Node.js and Express. But to be honest, it was not so different from Express. You build your templates, use different endpoints and make your Requests.

What I really like is that Flask allows to me integrate the operations in use in my job (even though i´m faily new to python) and integrate them in Web dev. Like this: Pandas for calculation, managing data and more and passing this data to the template.

@app.route("/allusers", methods=["POST", "GET"])
def allusers():
    if request.method == "GET":
        user_collection = mongo.db.users
        df = pd.DataFrame(list(user_collection.find()))
        df["price"] = df["price"].apply(pd.to_numeric)
        result = round(df["price"].mean(), 2)
        return render_template(
            "/result.html",
            result=result,
            nrow=df.shape[0],
            series=list(df["price"]),
            description=list(df["description"]),
        )

Maybe I will come back to node.js later, but so far I am very happy with using python on the backend. Next week I will try to build on upon what I did so far and then hopefully will be finally be able to deploy an app on my own server :-).

This archievement gave me a boost of motivation, which hopefully holds on, because there will be so much failure and there is a ton of new stuff to learn… Linux Servers, more shell commands and in one month my 2 fulltime react weeks will start :slight_smile:

What stuck you on Node.js? A lot of times now I search for a tutorial repo or a guide with a code repo on Github when I’m trying something new. Play around with it, figure out what does what, what happens if I change this? And then adapt it to my needs while slowly learning it. This is in large part is due to having deadlines now, but I realize I could have learned a lot faster earlier one if I took this approach.

You can also learn a lot pair coding. Maybe join a Chingu (although I think it’s paid now) or find someone on the forum to pair program with who is sufficient in backend.

I got stuck with redirecting but it does not matter too much. I will use the tool which gets the job done and I generally think Python on the backend suits my needs better than JavaScript. The reason for that I will show you when I finally finish my first App with a backend :slight_smile:

Btw. what is a chingu?

Well I did after some struggle not manage to get that damn app deployed. It was a quite simple app where you could enter your age, sex and class you wanted to book for a tour on the titanic. Based on the input a probablity was calculated and served as string for the template which got rendered on the frontend. So here we go… I guess working like that has nothing to do with real web development.

In 3 days I will have an appointment with a senior front end dev on my company, who will show my how they work on Apps which use heavy machine learning processes and work with a large amount of data. He told me they use Vue.js. I´ve read about Vue.js and it seems to be easier than React.js and Angular. Anyone here with any relevant experience?
Really looking forward for that appointment :slight_smile:

I´m finally back with some news. Yes, I struggled a lot and bad problems with my motivation, but I kept working of course and did not give up. Here is my first App build with a JavaScript framework. I jumped on Vue.JS and so far I really like it. There is a ton of stuff to learn but it really starts to make more sense and the resistance to work on it gets smaller with each step of progress.

You can see the App and explanations here:

I 1,5 weeks there will be christmas holidays where I really want to improve me skills with Vue!

1 Like

Next Update here: Finally things start to come together and get interesting.

You can visit my Domain: ds-gym.de and login with “jack” and “password”. You will have access to two very basic apps.

I use an awesome piece of software called “shinyproxy” (https://www.shinyproxy.io/) which was developed to make it easy to host Data Science related Apps. I use Nginx as reverse proxy to redirect to port 8080. The Apps you can see live inside a Docker Container, which makes the whole system scaleable. Integrating a VueJS App is a HUGE step for me :slight_smile:

Feedback as always very welcome :slight_smile:

The Apps and the system still look like crap, but everything is customizeable. Now it´s all about the system :wink:

1 Like

Just upgraded my website to HTTPS. There are 10 hours udemy courses on SSL and i had a look on it… was boring and frustrating. Then I found this:

3 minutes later my website was secured. This is just fucking awesome!

1 Like

I will be following you man. I am on the same road as you are.

I had to learn Vue.js after using React for about 9 months. I like it so much more, I hope it catches on more in the industry. Great progress @Data-Mastery, keep it up

Thank you. At the moment I do a lot of Linux stuff, which is quite hard but enjoyable if it works. I worked on my website “ds-gym.de”. I improved another significant step right now.

I set up multiple Docker images:

  1. A MySQL Database, which handles the user data of my keycloak instance (used the volume API to write the data from the container to my FS, so not data gets lost when the container stops)
  2. My Keycloak instance itself
  3. ShinyProxy, which handles multiple containers with Apps.

Works good so far, next step is to build everything up with docker-compose. Everything behind that like Docker-Swarm or even Kubernetes seems to be a massive Overkill right now.

Strange where our plans lead us at the end, right? :slight_smile:

Hello guys,

again, I did not quit or anything. I took my time to learn a bit more of Vue.js and built a Portfolio Website with it. I dockerized my Application and serve with with Nginx. Actually a quite simple workflow.

You can access my website on data-mastery.com

I would really appreciate comments and tips regarding the website :-). Login for my projects is not implemented yet, this will take some more time. Right now its all about the style and feel.

Thank you

No feedback? :frowning:

Anyway, just did a new update. Keycloak is redesigned, Logging in works. The style of the platform itself will be changed, but at the moment motivation to do this is quite low. I have other priorities right now anyway.
Next thing I will do is working on my Python skills and getting better at wrangling data.

1 Like

Hell of some nuggets to help me with my journey to become a full stack. Thanks for the share and for the info. I really learnt a lot especially when you mentioned something about not just jumping from one tut to another without grasping concepts and ideas behind. From today onwards, I will start building something using knowledge gained from previous lectures before moving forward.

Once again. Thanks buddie

1 Like

Hi @Data-Mastery,

I checked out your site and really like it! The transitions are a nice touch between pages. The background image is excellent too. I also like the way you simulated typing on the home page. Overall, I enjoy the theme.

The only thing I noticed was that your site icon that pops up with the title of the tab is still the default Vue.js image. Other than that, it looks like you’re learning quite a bit and applying your knowledge pretty well. Thanks for sharing your journey here!

1 Like

Thank you very much for your feedback. Worked on it integrated the suggested favicon. The last 3 weeks I worked on a Udemy couse which you can see in “Projects”. It is called “Data Wrangling with the tidyverse”. It is an R course, not the best of couse, but I did it anyways.
Btw. my Job role changed, in 1 week my official job title is “Data Scientist” :-).

1 Like

AWESOME! Congrats! So is this what you were going for? Or what’s your plan now?

Yes, I like the combination of Math and Web dev/Software engineering. For a current reason: I have build a prediction dashboard for the corono virus:

https://data-mastery.com/

Video: https://www.youtube.com/watch?v=HZy_1KJFW0A&t=1s

Hello everybody,

14 days ago I postet the link with the prediction for 14 days and hell… my model totally underestimated the reality. I also never thought about the impact this might have on my life. I´m stuck in my little flat in Munich, can not meet friends, gyms are closed. My Job is on “Short-work” (thanks I live in Germany where you can not be just instantly fired) for 60% and I try to not just go insane.

I know I know, many people struggle much harder and this only scares me. I hope this nightmare will soon end. Trust in math: Each pandemic has to follow a logistic curve and let´s hope we will soon enter the decreasing part of the function. Stay healthy and sane, good luck to everybody. I will come up with a plan what to do with my increased freetime in 2 days…