Back to projects

Portfolio Website

Portfolio Website

Goal

Utilize the skills learned in website development to create and construct a portfolio website that showcases past work and projects.


About

This project was my most challenging and yet, most fulfilling accomplishment. The portfolio website is the one seen before you and features many sought-after perks and features. Developed and run through Express and Node.js, this Full Stack Web Dev project was entirely created by myself. Except for styles by Bootstrap, this website was designed through custom Javascript, CSS, and HTML. The project features full CRUD implementation, including RESTful routes


Database

Mynameisnick.com features the inclusion of a Mongoose database. This database encompasses models such as comments, users, projects, etc. While stored locally for most of this project's lifetime, the database has since been moved to Atlas to provide a cloud-based system.


Cloudinary

While not available to an ordinary user, this project features the use of cloud-based photo storage Cloudinary. When creating new projects, photos like the one seen above are read and sent to Cloudinary. The link is then stored in a database and sent to requested pages.


Authentication

Using Passport.js, this project supports user creation. While not a necessity for a portfolio website, this feature enables users to comment on projects and leave feedback. Custom password policies have been set, as well as password resets through email verification.


Error Handling

Using express-error and other custom-made functions, all errors are handled and given a status message with a number. Async functions are placed in async error handlers to avoid time-outs. Flash has also been incorporated to not only send success messages but also error messages with redirects.


Sessions

Each user is granted a session that holds multiple values. Some of which include user info, redirect locations, and errors regarding password policy. These sessions are protected and given an expiration date


Future Goals

I hope to continue my work on this website and add new features. Some of which I had in mind are profile pages, comment replies, upvotes, and the user suspension handlers.


Comments

Log in to post a comment.

carolynjonesgallo
Awesome!!!