Back End Basics
The objective of this module is to introduce coders to backend (server side) programming.
Seperating and reusing code with modules
It introduce coders to using JavaScript from the command line using NodeJS. How to use and create modules - installing them from npmjs.org using the npm command. And how to create your own modules using module.exports and the exports keywords. Also how to use modules using the require keyword.
Unit Testing and TDD
Coders will learn how to do Unit Testing with Mocha from the command line, using NodeJS’s built in assert module. They will also be introduced to Test Driven Development (TDD) and Continuous Integration.
HTTP Server using ExpressJS
Once they are happy with JavaScript on the Server Side coders will start learning about using a JavaScript Web Server using ExpressJS. Using ExpressJS they will learn how to link code on the server to HTTP requests from the browser. With a Web Server users can interact with the same dataset from different locations.
They will learn to request and return data from the server using HTTP GET requests. After that they will use HTTP POST send to send larger datasets to the server.
Templates using Handlebars
Knowing how to use templates to combine data and HTML layouts is a very important skill that coders will learn by using Handlebars. Using handlebars allows you to convert your data into HTML pages - it allows you to create HTML documents pages from datasets dynamically.
Databases using MongoDB
Coders will learn how to persist data on the backend using a NOSQL (Not Only SQL) database called MongoDB.
API introduction
Once coders are comfortable with using the ExpressJS with a database they will learn how to create a simple API. The they can call from their Client Side code using AJAX to create SPA (Single Page Apps).
Application deployment
The coders will learn how to deploy their applications to the internet using Heroku.