In this episode we will learn to create models in koajs, more specifically we'll create a user model.
First we'll create a package.json file to store our metadata using npm init.
When coding we will use a Test First approach to create our user model, using mochajs.
To create our database and users table we'll create migrations using the npm package migrate.
Then we'll avoid committing a BIG developer SIN (storing passwords in clear text) by using bcrypt to properly hash our users passwords.
When we implement the password hashing we'll use the Object.defineProperty method a cool way to create properties that have "getter" and "setter" methods... except we get to use them with simpler dot notation... user.password = 'mysecret'
Lastly we'll look at how to authenticate a user after hashing their password with bcrypt.