
Project
Super Wellness is a full stack app I developed to track what activities and food may increase or reduce pain or energy levels. Users can create an account using simple email / password authentication. I used MongoDB, Express, React and Node to set everything up. Checks and messages make sure passwords meet complexity requirements and duplicate email addresses are not used. State is managed with context and reducers.
I created an API allowing for the CRUD operations for users and for their logged days. I have learned so much with this application. I can take any JavaScript date and kick back whatever you want by now. I will speak more to that below. Users are given and validated by JWTs. Passwords are hashed in the database. I even use nodemailer to allow users to reset a lost password.
The front end is React and CSS using Axios for API calls. I created many forms as popups and mapped lists of cards displaying logged data.
A date created by your browser in React will give the current date and time where the machine sits, but is stored in MongoDB as the date string with a handy ISO helper and zulu GMT. Basically, I sent dates to the database with the GMT timezone offset put into the time. This allowed for the user's actually to be retreived, allowing today's data to only stay in the dashboard until tomorrow for the user.
Technologies
React
React Context
CSS
Axios
MongoDB and Mongoose
Express
NodeJS
JSON Web Token and BcryptJS
Express Validator
Nodemailer
Back