James McGahn
Summary:

This site looks familiar because you are on it. A personal portfolio website built in Next.Js with a custom light CMS. Full CRUD App supports image upload, has public APIs and More!

Personal Website

Tech Used: reactnext.jsmongodbbootstrapaxiosnext-authcloudinaryemail.jshtmlcss
Description:

A personal portfolio website built in Next.Js. with a custom CMS backend to manage posts and upload/delete images. This site is a mix of Incremental Static Regeneration (all of the public-facing) and Server Side Rendering (the private backend CMS).

Next-Auth was implemented on this site and there are also a mix of both public and private APIs for the projects and the artwork. Another notable feature is the contact form mailer using email.js. All data is persisted in a MongoDB cluster except images which are stored in Cloudinary.

Challenges:

The main challenge was getting Next-Auth up and running with credentials as there is not much documentation or tutorials on how to implement it. A second challenge was getting image upload/deletion to work properly with mongo, multer, and Cloudinary.