View a live demo here!
The intention behind MentalNote is to have an application where a user can log in and describe how they feel through a series of prompts every day. The prompts center around three categories: the self, your friends, and your family. The prompts have a score ranging from Poor to Excellent or Not At All to Extremely. Following the self score evaluation there is an text field for you to enter your response to each prompt.
Both the score and the text response are required, because the intention of the application is to be more like a journal that you can go over each prompt and then review your responses for that date at any point in the future.
The API for this application is a simple CRUD(Create, Read, Update, Delete) API and has routes set up for each of these actions on a separate server repo. Authentication is handled using JSON Web Tokens and the application is complete with a Log Out link while using the application that returns you to the home page and deletes the token from local storage.
This application was built using React and Redux for the front end of the application and styled using Emotion, a CSS-in-JS library.
The server was built using Node, Express, and authentication was completed using JSON Web Tokens.
The database was built using MongoDB and mlab.
Front end testing was completed using Jest and server testing was completed with Mocha and Chai and uses Travis CI for continuous integration testing.