Some time ago I wrote an article about learning JavaScript, but the right way. Well, I have been doing that and at the same time I have been focussing on working on Node.js.

What is Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

This is the official description of Node.js according to the Node.js website. A lot of technical terms which even I don't understand just yet. Basically, it's a software platform that allows you to run javascript applications on any operating system. It also includes a built in web-server which allows you to run web applications without any other software. Also because the applications written in JavaScript can be run on the server instead of the browser, it gives you a lot more power. This makes it really easy to write API's and other powerful applications.

Learning a new programming language can be a real pain when you don't know where to start. That's why I subscribed to Treehouse to get a quick introduction into full-stack JavaScript the the MEAN stack. This gave me a refresher in JavaScript and jQuery and brought me up to speed with Node.js, Express, MongoDB and Angular. I can really recommend this course, altough it's not the holy grail and you will have to keep working at it. For example with a little pet project. I think this important, if only to keep your head at it and familiar stay with the syntax. In the beginning it's so easy to forget all that stuff.

As my pet project I started off rebuilding my own business website from scratch. This way I can start adding features manually when I need them. Right now it's only a basic contact form. And it doesn't even give the user feedback when submit is clicked. But on my development branch I already added the AJAX functionality and now only the styling is left to really finish this feature.

Two things I still want to do with this project:

  • Front, about, work and contact page instead of a one-pager
  • Admin panel for easier administration
  • API call for displaying my blog posts
  • Client section