Would you like to learn some best practices on how to make your NodeJS
applications easy develop, deploy and maintain?
Would you like to see how to find better clients and earn more from your
freelancing buisness?

We will share with you actionable advice with easy to follow steps. It is
everything that we have learned from years of experience working with customers
from all over the world on projects of all sizes.

You’ve heard that the cloud is the place to be. Run your enterprise apps or scale your startup. It is simple, easy to begin and inexpensive. You go to AWS, Azure, Google or maybe Digital Ocean. You sign up and for just a few dollars (euros, pounds, pick your currency)...

You’ve probably seen many NodeJS articles. You always use NPM to install this or that package, but they never ever talk about it. This is true even for my own articles. We always take NPM for granted. Yet, what will you do if there was no NPM or no NPM...

A lot of web applications these days require fast and lightweigh real time communication. Real time analytics, real time measurement, games, chat applications, syncing with other devices, syncing with other people when coloborating on a document, etc. Last time I showed you a solution to all of those problems with...

Web development is great, however traditional web technologies have some limits. You often need to exchange more information with the server once the web page is loaded. Then you probably use AJAX. However, you might soon discover that there are two limits with AJAX. First, you don’t get any information...

You are often afraid that you can lose your contract work to an employee or to an in-house team of your client. Each time you are entering negotiations with a potential client, you trying to provide an offer which will cost them less than their employees. As a result your...

Initially writing NodeJS and Express looks fun. It is JavaScript, it’s simple and it is super fast. However, the more your application complexity increases, you begin to notice the endless callbacks. You have one, inside there is another, inside it is one more and sometimes, even 5 or 6 more....

Unit testing is great, but it doesn’t show you the whole picture. Integration tests are also nice, because you know that your components will work together as expected, but it is still missing some pieces. The fact is, that when you code is in production, your users still encounter bugs...

You are a freelancer or a consultant and naturally you want to earn more. You get as much work as you can, or even a little bit too much, rarely refusing work that comes your way. You have learned that by pricing your services based on the value they provide...

We all hate bugs in our code. Bugs can make you lose users and ultimately decrease your revenue. That is why you have tests, to keep your Node & Express application bug free. Initially, you run them only manually, but with time, as your app and team grow you realize...

You have already seen how to test your models at Testing Your Mongo Models for Node & Express, but your Express controllers are also an integral part of your web application. When they don’t work, your users see 404 and 500 errors, and they might never come back. This is...

Any good business requires new clients. Existing and returning clients are great but you need new people from time to time. However, when people talk about new clients, they don’t think about referrals most of time, because they take them for granted. Sometimes, they really come without efforts but you...

Everybody is talking about NoSQL, especially in the NodeJS world. Lot’s of people even associate Node with Mongo and other NoSQL databases. However, the world doesn’t end there. SQL databases like MySQL, PostgreSQL, Oracle or even SQL Server are battle tested in all kind of scenarios. Companies both large and...

ReactJS is great. It allows you to create easily complex web applications and user interfaces, without worrying how all is going to update. As any great technology it is very easy to start with. However, as soon as you begin writing more complex applications your React app begins to grow...

When your team grows and when your application complexity grows, there are many new obstacles that you face. One of them is that your app becomes much more difficult to modify and maintain. Adding new features or modifying old ones is much harder. Even adding tests is more difficult, because...

Wouldn’t it be nice to earn a little bit more or maybe even a lot more? Yes, of course it would be. Everybody suggests to charge more because this is the best way to earn more for your freelance and consulting services. It sounds simple, but again when it comes...

Node is very easy to start with. Especially when you are using Express. During development you are runnign your app and your database on the same server, as well as anything else that you need. In fact, when you start you often have the same setup in production. Everything is...

Running your Node & Express apps on your machine is easy. However, once you put them in production there are some new problems. What if the app crashes? What if the server restarts? What if some other failure happens? We’ve already talked about deploying on Ubuntu and CentOS but today...

Redis is a great database. I love it, I really do. It’s easy to use. It’s super powerful with its useful and easy to use structures. I can do anything with it. And above all it is FAST, extremely fast. Nothing else comes even close to it. Most of this...

Last time we’ve looked at uploading files locally. Uploading files locally is useful, but it has way too many limits for most applications. You have to think about back ups of your files, then you have to implement the back up strategy. In addition, your disk have a finite space...

File uploading is a requirement for a lot of web apps. Most of them at least need to be able to upload some pictures. Unfortunately, out of the box neither Node nor Express supports file uploading. Moreover, it is not trivial to implement this feature from scratch. However, there are...

Freelancing is rarely what you expect. Probably, when you begun freelancing you had in mind a lot of great stuff and freedom like: work when you want, work where you want, take a nap or a walk whenever you feel like it, no boss and many more like that. However,...

There are many interesting NoSQL solutions and more are created almost daily. One of the most popular is CouchDB. One of its main strengths is that it uses HTTP as its communication protocol which makes it very easy to use from any programming language. CouchDB is also the primary store...

Doing local development with Node is simple. All you have to do is node app.js in the folder where your source code is and your application is ready to serve. Where things get complicated is when you want to put your app in production, on a web server for the...

It is hard to stay focused and be productive when you are working as an employee from an office, but it is even harder when you are freelancing. Maybe, by the end of the day you are asking yourself where did the time go, or maybe, you stay up until...

React Native is amazing. I have been using it for some time and I am preparing our first production application implemented entirely with it. The only drawback that you might have experienced currently is that there are not that many components to work with. Therefore you have two options if...

Every web application needs a place to store its critical data. Node and Express apps are no exception. One of the most popular NoSQL databases in the last few years, especially when working with Node, is MongoDB. As you grow, your needs grow. You need more than just to connect...

Sometimes there are clients that you just don’t want to work with them anymore. They don’t pay on time, they constantly change what they want, they don’t value your work or their projects never seem to end, no matter what you do. We all know that the best solution in...

Clients side frameworks are great. They can help you build interactive and fast web applications which users love to use. Unfortunately it is not all roses. There are several drawbacks, too. One of the main disadvantages is the initial loading speed. Client side frameworks receive very little HTML from the...

Creating a portfolio with your work seems easy and natural. Every freelance designer, developer, copywriter, and any other kind has one. It usually has some pictures, a project or a client name, sometimes a few words and maybe a list of the technologies that you have used. This is how...

React is a great library and can make developing web apps much easier. However, the first thing that anyone coming from Angular sees is the lack of two way binding by default. It is one of the reason why some developers don’t want to try it. Even though two way...

Last time I talked about the Common Mistakes Freelancers Make when Selling Themselves Online and I tried to explain what is the problem with each of them. This time, we will look into what exactly is a better way to proceed when selling yourself online. There are different channels which...

There are a lot of ways to attract new clients while freelancing. You can go to networking events, you can do cold calling, there are online job boards and many more. No matter what you do, sooner or later your potential clients will come to your web site. It will...

Doing local development with Node is simple. All you have to do is node app.js in the folder where your source code is and your application is working. Where things get complicated is when you want to put your app in production, on a web server for the whole world...

There are clients you love to work with and then there those you dread to here from. Yet, it seems that some freelancers and consultants only get work with the former and never with the latter. Do they never work with horrible clients? Is there a way to replicate their...

Every business does it and everyone does it for a different reason. Freelancing is also a business and you are the boss of your freelancing business, should you do what everyone else is doing? In addition, sometimes there are clients that you really want to win and they ask for...

Recently there has been a rather large outcry from UK and US SaaS companies about the changes of the VAT (Value Added Tax) in the European Union from January 1st, 2015. I am not an accountant or a lawyer, but I am business owner in Bulgaria which is in the...

Organizing your application structure and its routes is one of the first problems you will encounter while developing with Express. To help you with that version 4 added the Router class. Let’s use it to define some routes in a cars.js file. var express = require('express') , router = express.Router()...

Building a web application with a backend API and multiple clients is great. Everyone is using the same API and you can allow even other people to build clients, while you focus on the core. Like Twitter used to be. Not only that, but you can also improve your backend...

Models are the base units of every application. When there is a bug in them they might affect the functionality of the entire app. As a result you will lose users and revenue. Therefore you should test your models, but this is not as trivial as it sounds. First, when...

If you are not building an extremely simple and static web site (like this one), you probably need your visitors to identify themselves somehow. This is called user authentication. User authentication is one of the first things you stumble upon while building a new web app. It’s purpose is not...

Node and Express don’t come with a strict file and folder structure. Instead, you can build your web app any way you like. This is great, especially for small apps. It is easy to start, learn and experiment. However, as your application grows in size and complexity, things might get...

Where did the time go? If that is what you are asking yourself at the end of your work day, you are not alone. You have been working for full 8 hours, then you look at what you have done. It is great stuff but it shouldn’t have taken you...

You had your breakfast and it’s now time to begin working. Then you just have a quick look on Facebook, maybe someone posted something important for you during the night. It is just going take a minute. Then you check Twitter, just another minute, maybe there is something super useful...

I am a developer and as every developer, sometimes I have the irresistible desire to add new features. I am thinking that if I add that functionality it will be so much better for the user or that this one other feature will make the app much more cool and...

Hiring people to work remotely often brings two questions: How do you know when your employee is working? How do you know whether he is doing his job 8 hours each day? You don’t. What’s more, it doesn’t matter, at all. When you are running a business what is important...

Micro frameworks have become all the rage. They are small and sexy and you can find them everywhere. Django is not considered a micro framework, but recently I looked at other frameworks some of which are considered micro and I realized that in fact it is. What is so cool...

Do you feel envy when you see how fast and smooth iPhone apps are? Do you want your own apps to run smoothly even on low-end devices? Are you afraid that making your app faster requires a lot of time and knowledge? Making your Android apps faster is easy, but...

You are a student and you have a lot of exams but you don’t know how to cope with them. Your boss has given you so many things to work on that you can’t see the end of it. You are the boss or a freelancer, a designer, a lawyer...

Software engineers love features. They add a feature to marginally improve a product, then they add another one, then one more. Sometimes, they just forget to ship the final result; sometimes they add a ton of features that nobody wants to use. This way countless of products and services have...