Dynamic Routing in Next.js: Creating Flexible and Scalable Apps