Estrutura de Pastas (Pages)
Por favor, selecione seus pacotes para ver a estrutura de pastas de um aplicativo recém-estruturado com essas seleções. Mais abaixo, você encontrará uma descrição de cada pacote.
prisma
A pasta prisma
contém o arquivo schema.prisma
que é usado para configurar a conexão com o banco de dados e o schema do banco de dados. Ela também é onde são salvos os arquivos de migração e/ou scripts de seed, se usados. Veja Uso do Prisma para mais informações.
public
A pasta public
contém recursos estáticos que são servidos pelo servidor web. O favicon.ico
é um exemplo de um recurso estático.
src/env
Usado para a validação de variáveis ambiente e definição de tipos - veja Variáveis de Ambiente.
src/pages
A pasta pages
contém todas as páginas da aplicação Next.js. O arquivo index.tsx
na raiz da pasta /pages
é a página inicial da aplicação. O arquivo _app.tsx
é usado para envolver a aplicação com providers. Veja a Documentação do Next.js↗ para mais informações.
src/pages/api
A pasta api
contém todas as rotas API da aplicação Next.js. O arquivo examples.ts
contém um exemplo de rota que usa o recurso de Rotas API do Next.js↗ junto com o prisma. O arquivo restricted.ts
contém um exemplo de rota que usa o recurso de Rotas API do Next.js↗ e é protegido pelo NextAuth.js↗.
src/pages/api/auth/[...nextauth].ts
O arquivo [...nextauth].ts
é a rota de autenticação com slug do NextAuth.js. Ele é usado para lidar com as requisições de autenticação. Veja Uso do NextAuth.js para mais informações sobre o NextAuth.js, e a Documentação de Rotas Dinâmicas do Next.js↗ para informações sobre rotas com parâmetros/slugs.
src/pages/api/trpc/[trpc].ts
O arquivo [trpc].ts
é o ponto de entrada do tRPC. Ele é usado para lidar com as requisições do tRPC. Veja Uso do tRPC para mais informações sobre esse arquivo, e Documentação de Rotas Dinâmicas do Next.js↗ para informações sobre rotas com parâmetros/slugs.
src/server
A pasta server
é usada para de maneira clara separar código do servidor e código do cliente.
src/server/auth.ts
Contém utilitários para autenticação, como recuperar a sessão do usuário no lado do servidor. Veja uso do NextAuth.js para mais informações.
src/server/db.ts
O arquivo db.ts é usado para instanciar o cliente Prisma no escopo global. Veja uso do Prisma e melhores práticas para usar o Prisma com o Next.js↗ para mais informações.
src/server/api
A pasta api contém o código do lado do servidor do tRPC.
src/server/api/routers
A pasta routers contém todos as sub-rotas do tRPC.
src/server/api/routers/example.ts
O arquivo example.ts
é um exemplo de roteador tRPC que utiliza o utilitário publicProcedure
para demonstrar como criar uma rota tRPC pública.
Dependendo dos pacotes escolhidos, este roteador contém mais ou menos rotas para melhor demonstrar o uso de acordo com suas necessidades.
src/server/trpc/trpc.ts
O arquivo trpc.ts
é o arquivo de configuração principal para seu back-end tRPC. Aqui nós:
- Definimos o contexto usado nas requests tRPC. Veja uso do tRPC para mais informações.
- Exportamos os auxiliares de procedures. Veja uso do tRPC para mais informações.
src/server/api/root.ts
O arquivo root.ts
é usado para mesclar as rotas tRPC e exportá-las como um único roteador, bem como a definição de tipo da rota. Veja uso do tRPC para mais informações.
src/styles
A pasta styles
contém os estilos globais da aplicação.
src/types
A pasta types
é usada para guardar tipos ou definições de tipos reutilizáveis.
src/types/next-auth.d.ts
O arquivo next-auth.d.ts
é usado para estender o tipo padrão de sessão do NextAuth para incluir o ID de usuário. Veja Uso do NextAuth.js para mais informações.
src/utils
A pasta utils
é usada para guardar funções utilitárias comuns reutilizáveis.
src/utils/api.ts
O arquivo api.ts
é o ponto de entrada front-end para o tRPC. Veja uso do tRPC para mais informações.
.env
O arquivo .env
é usado para armazenas as variáveis ambiente. Veja Variáveis de Ambiente para mais informações. Esse arquivo não deve ser commitado para o histórico do git.
.env.example
O arquivo .env.example
mostra um exemplo de de variáveis ambiente baseado nas bibliotecas escolhidas. Esse arquivo deve ser commitado para o histórico do git.
.eslintrc.cjs
O arquivo .eslintrc.cjs
é usado para configurar o ESLint. Veja Documentação do ESLint↗ para mais informações.
next-env.d.ts
O arquivo next-env.d.ts
garante que os tipos do Next.js sejam lidos pelo compilador do TypeScript. Você não deve remover ou editar, uma vez que pode mudar a qualquer momento. Veja Documentação do Next.js ↗ para mais informações.
next.config.mjs
O arquivo next.config.mjs
é usado para configura o Next.js. Veja Documentação do Next.js↗ para mais informações. Nota: a extensão .mjs é usada para permitir importações de módulos ESM.
postcss.config.js
O arquivo postcss.config.js
é usado para o uso do Tailwind PostCSS. Veja Documentação do Tailwind PostCSS↗ para mais informações.
prettier.config.mjs
O arquivo prettier.config.mjs
é usado para configura o Prettier e incluir o prettier-plugin-tailwindcss para a formatação das classes CSS. Veja o post no Blog do Tailwind CSS↗ para mais informações.
tsconfig.json
O arquivo tsconfig.json
é usado para configurar o TypeScript. Algumas configurações diferentes do padrão, como strict mode
, foram habilitadas para garantir o melhor uso do TypeScript no create-t3-app e suas bibliotecas. Veja Documentação do Typescript↗ ou Uso do TypeScript para mais informações.