How exactly does Gouraud shading apply color across a polygon? Does it do it by pixel or is it some other method? I'm a super beginner to GFX. So far I've learned about 3 shading models when rendering meshes
The first is Flat Shading. I seem to understand this, from my understanding, you take the normal of the face/polygon, apply your lighting model based on that, and the light angle, and other parameters and based on what you get, shade your polygon with  a single color, done.
I've learned about Phong Shading as well. Apparently Phong Shading takes the normals of the vertices of the polygon, and interpolates them for each pixel, thus sort of 'creating' a normal per every pixel, and shade accordingly. It is shaded per pixel, and as such you get smooth results
Gouraud shading is what I am most confused by. I referred to many online sources including this one and what I dont understand is how exactly the polygon is shaded? Is it shaded per pixel?
From my understanding, Gouraud is the same as Phong shading except that unlike Phong interpolating vertex normals, and creates normals  for every pixel and shading each pixel, Gouraud interpolates just the vertex normals of the polygon.
Im not quite sure what it does after that. Does it take these interpolated vertex normals and shade the polygon in a single color? Does it shade pixel by pixel just like Phong?
The difference is in the number of lighting calculations done. Where the lighting calculation produces some color.
Flat does one per face, uses the color across the face.
Gourand does 3 (for a triangle, one for each vertex), interpolates the color across the face.
Phong does a light calculation for every pixel/fragment (where the normal is interpolated across the face).