Este é um projeto de aplicação web full-stack construído com Next.js, TypeScript, MongoDB e Tailwind CSS. O objetivo é gerenciar as operações da Associação de Futebol de Porto dos Santos (AFPS), incluindo um portal para jogadores e um painel administrativo.
- Framework: Next.js (com App Router)
- Linguagem: TypeScript
- Banco de Dados: MongoDB com Mongoose
- Estilização: Tailwind CSS com shadcn/ui
- Autenticação: Baseada em cookies de sessão
- Mutations de Dados: Next.js Server Actions
-
Instalar Dependências:
npm install
ou
yarn install
-
Configurar Variáveis de Ambiente:
- Crie um arquivo
.env.localna raiz do projeto. - Adicione sua string de conexão do MongoDB:
MONGODB_URI="sua_string_de_conexao_do_mongodb_aqui" DB_NAME="afps_db" # Opcional
- Crie um arquivo
-
Popular o Banco de Dados (Opcional):
npm run seed
-
Executar o Servidor de Desenvolvimento:
npm run dev
-
Build para Produção:
npm run build
- Estrutura de Diretórios: O projeto segue a estrutura padrão do Next.js App Router.
app/: Contém as rotas e a lógica principal da aplicação.components/: Componentes React reutilizáveis.lib/: Funções utilitárias, lógica de autenticação e conexão com o banco de dados.models/: Schemas do Mongoose para o MongoDB.types/: Interfaces e tipos TypeScript.
- Estilo de Código: O projeto utiliza ESLint e Prettier para garantir a consistência do código (configurações inferidas de
package.jsonenext.config.mjs). - Commits: Espera-se que os commits sigam a especificação Conventional Commits.
- Server Actions: As interações com o backend (como submissões de formulário) são feitas preferencialmente com Next.js Server Actions.