# 0.0 before you start ## the real basics If you've never coded anything before you may want to link about doing a basic tutorial on LinkedIn Learning before you try to follow this one. We'll do our best to explain everything, but we'll surely leave some things out, and even so, you'll end up with a deeper sense of what's going on if you follow two DIFFERENT recipes (and make mistakes you have to solve with each) than if you follow a single recipe perfectly. Getting a little confused is actually important (you can copy and paste all the code you find here and never be confused, but you won't end up learning anything other than the shortcut keys for copy and paste :) The tools you'll want to gain basic familiarity with include ### the shell Sometimes people will use "shell," "command line," and "Terminal" (on mac) interchangeably. Basically this is the tool you'll be using to "talk" to your computer, to navigate the file system, to copy code that exists elsewhere into your own project, to run your code, to back it up to github, etc. ### html and css Since we're going to be displaying things on the web for our users to interact with, we'll need to understand the basics of html and css. You can think of HTML as the structured content of your document and the CSS rules for styling that document (rules that can make use of the "tags" that structure the HTML document along with specific "classes" that you assign to portions of your content). ### js You may have heard that javascript is what you use to make your html/css website interactive, and this is true. In the old days, you might have a document with a bunch of HTML at the top and then a little bit of js at the bottom that worked to make that webpage interactive. But these days, especially if you are going to be a full-stack developer, you'll use javascript for much more than this, and you won't simply append little bits of it to the bottom of an html doc . . . it's going to be much much more central to all of your work thanks to this thing called [nodejs](https://nodejs.org/en/), which allows you to run js on the server. This may not sound like such a big deal yet, but it will become clearer just how much this changes (for instance, in some cases those html docs that used to contain bits of js at the bottom 15 years ago are now going to be generated (on a massive scale) by js code running on the server. And sometimes--in fact most of the time--we'll generate loads of js on the server side to send to the client that will then generate loads and loads and loads of interactive HTML/CSS on the client side ) ### react The most advanced thing you may want to check out before jumping aboard this tutorial is [reactjs](https://reactjs.org/). I think we'll do an OK job of teaching this pretty slowly (because it's the main part of the tutorial), but if you want to play around with a basic tutorial on React that will for sure set you up for success on this one. ### developer tools On a Mac, you're going to need to install - homebrew - git - node - visual studio code (or some other code editor) And you're going to need SOMETHING that can play the role of a database. For this tutorial, we're actually going to use Airtable. The thing to do is to install homebrew first, then to use it to install the other three (this is WAY easier than downloading and installing the other tools from their websites). But we're already getting in to things that we'll cover in [0.1-development-environment](/sg7ZYGs6Q-eVicsd63lTXw) . . . so go ahead and click that to get started.