Skip to main content

Flash messages notify the user about various things as they interact with the application. For example if a login failed, why it failed.

Implementing image uploads in Frosty CMS using Multer and Cloudinary.

Environment variables are how you keep credentials like API keys secret when you upload your code to a public repository.

Creating nested REST routes to edit and delete comments. Restricting access to routes based on user role.

Middleware functions can be refactored into their own module to DRY up routes.

Creating four user roles with varying permissions and abilities in Frosty CMS

Just some quick examples of some of the more useful mongoose queries

Checking if user is authorized to edit content by comparing user ID to author ID. Creating middleware function, and dynamic GUI controls based on ID.

Associating users with comments by modifying the Mongoose Schema to include author ID's

Deep diving into Bootstrap 4 navbar classes to get a better understanding of what is happening here, and therefore customize it. The missing documentation for Bootstrap 4 navbars.

Refactoring Express routes into separate modules for organizational purposes, using the Express Router middleware

Implementing user authentication in an Express application using Passport JS. Setting up login and registration forms, authentication routes, and template modification based on authentication.

Using blog ID to populate comments and displaying them on the page with a loop.

Understanding the basics of Async Javascript by reviewing Promises, Async Await and Try/Catch Blocks

Promises are a new set of functionality in Javascript that provide an alternative to repetitive nested callback function (AKA callback hell)

Seeding is when we wipe the database and then add a set of filler data, which makes it easy to test when we are making changes. Itโ€™s sort of like Lorem Ipsum, for the database.

Creating local modules in Node to containerize functionality, making them reusable and better organization for your application

Anytime a user can input text data we have to sanitize the input so that they don't inject anything malicious, like a script to drop the database. This is how we sanitize inputs in Express.

Rounding out the UD portion of CRUD for our blog posts in Frosty CMS.

Adding dates to blog posts using Mongoose template and .toDateString. No MomentJS in this method.