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.
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.