I need guidance with my first real project


I’ve been teaching myself web dev for some time now and its time for my first real project. I im confident with HTML, CSS, know some JS and started learning React recently. I’m in early stages of building a portfolio website for my girlfriend. I have the design all figured out, but realized I have no idea how to implement functionality as I imagined it. I basically need someone to direct me towards technologies, that would be most suited for the project, so i can start learning them.

The overall idea is as follows:

-Theres a list of projects sorted by year or type of the project on the left, with a button for choosing by which you want them grouped. Mind that i want only project name displayed.

-A “main” image of a project on the right, displayed upon hovering coursor over the project name.

-Individual page for each project with descpription and gallery of images, accessed by clicking on the project name.

What I dont know is how to make the list behave as I described? Also I think I should implement database storing project names, descriptions and path to a folder containing the images, so the website can fetch them for the project pages and list. Does that make sense? I probably should use some CMS for ease of updating sake, but have no idea which one to choose.