An Introduction to Web Development from Back to Front

Mark Mahoney

This is a comprehensive introduction to web development. In this 'book' you will learn about some modern web dev languages (Javascript, HTML, CSS) and tools (npm, Node, Express, SQLite, Mongo, Bootstrap, React, Firebase, GraphQL). I will guide you through creating back end servers, web pages, APIs, and much more. The focus will be on running programs. This is a book of 'playbacks' that show you how I built up these programs. Along the way I describe the changes that I am making.

This is not an introduction to programming. Some past programming experience is required as I will not be covering basic topics such as if statements, loops, and functions. However, if you have some experience programming I think you should be able to get a lot out of this book. I use this material when I teach a college-level course on web development.

If you'd like to stay connected and get updates when I add new playbacks you can follow me on twitter: @markm208. If you have questions or comments you can also reach me at

1.1 Ancient Javascript
1.2 Modern Javascript
1.3 Javascript and Types
1.4 Closures
1.5 Classes in Javascript
1.6 Promises and async/await
1.7 More with async and await

2.1 Node Modules and npm
2.2 Creating Your Own Modules
2.3 The Http Module
2.4 Express Basics
2.5 Returning JSON Data
2.6 Reading and writing data to a JSON file
2.7 Express and Sqlite
2.8 Express and Mongo

3.1 Basic HTML and CSS
3.2 HTML5 and More CSS
3.3 Bootstrap
3.4 Using Views in Express
3.5 Dynamic Javascript
3.6 A Very Brief Introduction to Firebase's Cloud Firestore

4.1 Basic React
4.2 Creating a React App with create-react-app
4.3 A React and Express
4.4 Scoreboard React App

5.1 A Traditional API
5.2 GraphQL Query Syntax
5.3 A GraphQL Server Without a Database
5.4 A GraphQL Server that Uses a Database
5.5 Accessing a GraphQL Server Using fetch() and graphql-request
5.6 Using React to Access a GraphQL Server