It is time to go full stack! (GFS Day 0)

Published by Michael Banzon on Sun Feb 12, 2017

This is the kick off (part 0) of a week long post series where we will implement a full stack project. This first post gives an overview of what full stack means and outlines the actual project that will be built during this week.

It is time to go full stack! Let’s make a project to illustrate - a project that fully touches the whole stack.

What is the stack?

It is truly a matter of perspective and this part can be discussed at length - but instead I’m going to present the notion and understanding of full stack and what parts there is in the stack in regards to this blog and the posts on it - please take note that this perspective mainly focus on web applications and that it is not required that every project contain components in every stack layer:

  • System
  • Backend
  • User
  • Business

System

The system layer is everything from the bare metal (the metal can be virtualised) through the operating system to the application you apply. This contain the constructs to get things running and keep it that way. This can be your LAMP stack, MEAN stack eg. - it actually depends on what your application is.

Backend

The backend layer is the part of your application that sits on directly on the system layer. It is limited in the other end by what your users sees and interacts with. An example of this is the backend API (the stuff you interacts with using AJAX) for your website.

User

The user layer is the most visible part of any application - it consists of everything the application users sees and interacts directly with. It is easily defined by the user interface and in the case of web applications consists of mainly HTML, Javascript and CSS along with images. It could also be the UI of mobile or even desktop applications.

Business

The business layer is maybe the hardest to define - at least for the traditional programmer. It is all the decisions that tie the application/project to the overall goals of the business/company that does the development.

What to build: Currency converter

We’ll build an application for currency conversion. This gives us the posibility of building something real, useful and very important: something that gives a challenge for every stack element that a full stack developer master.

We are going to divide the parts of the development into chunks that make sense in regards to the stack and this serves as the perfect reason to split this project into a multi part blog post series.

Here are the parts we are going to do:

Continue to day one…