Todo App

The Todo application allows users to create a to-do list that allows users to keep track of daily goals and objectives. Users are able to create their own accounts, create a custom list, add items and remove items from those lists.

Todo is a Node js application built with HTML, CSS, Node Js, Express, and MongoDB as the backend. I deployed the application using Heroku and the database using Mongo Atlas. For the backend of this application, I used bycrpt to hash user passwords and jsonwebtoken to authenticate a user and store those tokens in a cookie. Middleware was used to aid in the authentication of certain routes ensuring that only users that have already login can access those routes. Three schemas are used to represent the data: users, lists, and items. The user schema consists of a username, password, email, and an array of object tokens to store all of the generated JSON web tokens. Within this schema, I've added several helper methods, such as one for generating JSON web tokens, another for locating a user based on their credentials, and another that requires the password to be entered before saving. You can find the GitHub repo here: Todo App.

Technologies:
Login Page
User Home Page
List Screen
Signup Page