I must say that next.js is complex, although I have just started using it.🙃
K Koyal If you want to build something complex then I would suggest to use pages dir as it is pretty stable. I've learnt mostly by following their docs on pages dir here
nextjs.org/docs/pages/building-your-application
If you want some visual content then you can check out this channel