Olá!
Otimo que você esteja começado a estudar Next.js para realizar um projeto!
Você pode aplicar os princípios do padrão MVC em seu aplicativo Next.js, se desejar.
Em relação à organização do seu projeto, acredito que a melhor prática seja criar a estrutura de pastas dentro de src. Geralmente, o diretório src é usado para armazenar todo o código-fonte da aplicação. Além disso, é importante manter as pastas com nomes intuitivos para que outros desenvolvedores possam entender rapidamente a estrutura do seu projeto.
Sujestão:
- src/
- api/
- components/
- controllers/
- domains/
- interfaces/
- middlewares/
- models/
- pages/
- routes/
- services/
- utils/
Nesta estrutura, cada pasta possui um propósito específico:
- api/: pasta para armazenar arquivos de servidor e rotas API.
- components/: pasta para armazenar componentes React que são compartilhados em várias páginas.
- controllers/: pasta para armazenar controladores que lidam com a lógica de negócios e se comunicam com o modelo e o serviço.
- domains/: pasta para armazenar arquivos relacionados a domínios, como modelos de dados e lógica de negócios.
- interfaces/: pasta para armazenar tipos e interfaces.
- middlewares/: pasta para armazenar middlewares, como autenticação ou autorização.
- models/: pasta para armazenar modelos de dados.
- pages/: pasta para armazenar arquivos de página Next.js.
- routes/: pasta para armazenar arquivos de rotas para navegação do usuário.
- services/: pasta para armazenar arquivos de serviço, que lidam com a comunicação com o servidor e o gerenciamento de dados.
- utils/: pasta para armazenar funções de utilidade e bibliotecas de terceiros.