This tutorial guides you through building Todos - an app for keeping track of tasks that need to get done. People access their individual to-do list by signing in to their existing account, or signing up for a new account.

You'll start by building a page that allows users to sign in with a username and password. Then you'll add session management and sign out functionality. Finally, you'll build a page that allows users to sign up for a new account.

If you want to see where you are headed, here's an example of the final result:

To build this app, you'll need a working development environment with Node.js and Git, as well as an editor and terminal of your choosing. Take a moment to set up these tools if you have not already done so.

Let's get started!

Clone the starter app, which has all the scaffolding needed to build a to-do list.

$ git clone username-password-tutorial

You now have a directory named username-password-tutorial. Change into it.

$ cd username-password-tutorial

Take a moment to browse through the files in the starter app. As you work through this tutorial, you'll be using Express as a web framework, along with EJS as a template engine and CSS for styling. You will use SQLite as a database for storing data. Don't worry if you are not familiar with these technologies -- the necessary code will be provided at each step.

Next, install the dependencies.

$ npm install

And start the server.

$ npm start

Check to see if its working. Open http://localhost:3000 in your browser. You should be greeted with a page explaining how Todos helps you get things done.

Next, you will add a signin page to the app.