From the next.js docs

Main Components or Aspects

  • User Interface - how users will consume and interact with your application.
  • Routing - how users navigate between different parts of your application.
  • Data Fetching - where your data lives and how to get it.
  • Rendering - when and where you render static or dynamic content.
  • Integrations - what third-party services you use (for CMS, auth, payments, etc.) and how you connect to them.
  • Infrastructure - where you deploy, store, and run your application code (serverless, CDN, edge, etc.).
  • Performance - how to optimize your application for end-users.
  • Scalability - how your application adapts as your team, data, and traffic grow.
  • Developer Experience - your team’s experience building and maintaining your application.