The project itself is simplistic itself, try to mimic an online shopping site. I focused less on login/logout functionally and instead went for just a simple cart feature that connected to stripe. I somehow found the tradeoffs that next.js can inccur with trying to optimize SEO and using react client components.
I couldn't get the inbuilt api to work how I wanted(I was on a experimental version at the time) so just opted for an outside server with express.js. I also made errors in structuring which components should be clientside & which should be server side. This ended up with me not having an overarching state(redux,context) and instead making several extra api calls to my server and sending more data than it should be. I once messed up my project playing with TypeScript, so I had to find a git version that didn't mess up my deploy.