Base de dados para cartas de Pokémon TCG usando Prisma e Next.js.
- Node.js (versão 14 ou superior)
- npm ou yarn para gerenciamento de pacotes
- PostgreSQL
-
Clone o repositório:
git clone https://github.com/diogofelizardo/PocketDB.git cd PocketDB -
Instale as dependências:
npm install # ou yarn install -
Configure a variável de ambiente do banco de dados: No arquivo
.env, adicione a seguinte linha (substitua os valores de acordo com o seu banco de dados):DATABASE_URL="postgresql://user:password@localhost:5432/pocketdb?schema=public"
-
Configuração do Prisma:
- Gere os arquivos do Prisma:
npx prisma generate
- Execute as migrações para criar as tabelas no banco de dados:
npx prisma db push
- Gere os arquivos do Prisma:
-
Popule o banco de dados com dados iniciais:
npm run seed
PocketDB/
├── prisma/
│ ├── schema.prisma # Esquema do banco de dados
│ ├── migrations/ # Histórico de migrações do banco de dados
│ ├── seed.ts # Script para popular o banco de dados
│ ├── data/
│ │ └── pokemon-data.ts # Dados de exemplo para popular o banco
│ └── types/
│ └── seed-types.ts # Definições de tipos para dados de seed
├── app/ # Diretório principal da aplicação Next.js
│ └── api/ # Rotas da API
├── components/ # Componentes React reutilizáveis
├── lib/ # Bibliotecas e utilidades
├── public/ # Arquivos estáticos
│ └── images/ # Imagens do projeto
├── .env # Variáveis de ambiente
├── .env.example # Exemplo de variáveis de ambiente
├── .gitignore # Arquivos ignorados pelo Git
├── package.json # Dependências e scripts do projeto
├── tsconfig.json # Configuração do TypeScript
└── README.md # Documentação do projeto
prisma/: Contém toda a configuração e schemas do Prisma ORMapp/: Componentes e lógica principal do Next.jscomponents/: Componentes React reutilizáveislib/: Funções e configurações compartilhadaspublic/: Arquivos estáticos acessíveis publicamente
- Crie uma branch para sua feature:
git checkout -b feature/AmazingFeature
- Faça commit das suas mudanças:
git commit -m 'Add: nova feature incrível' - Envie para o repositório remoto:
git push origin feature/AmazingFeature
- Abra um Pull Request na branch principal.
-
Sistema de Autenticação
- Login com email/senha
- Login social (Google, Discord)
- Perfil do usuário
- Recuperação de senha
-
Gerenciamento de Coleção
- Adicionar cartas à coleção pessoal
- Marcar cartas como "Quero" ou "Tenho para troca"
- Registrar múltiplas cópias
-
Expansão do Banco de Dados
- Adicionar mais sets de cartas
- Incluir informações detalhadas de cada carta (ataques, habilidades, etc)
- Sistema de versionamento para diferentes impressões da mesma carta
-
Sistema de Torneios
- Criação e gerenciamento de torneios
- Diferentes formatos (Swiss, Eliminação simples, etc)
- Sistema de pontuação
- Histórico de partidas
- Ranking de jogadores
-
Construtor de Decks
- Interface drag-and-drop para montagem
- Validação de regras do formato
- Compartilhamento de decks
- Exportação/Importação de decks
-
Sistema de Trocas
- Listagem de cartas disponíveis para troca
- Sistema de mensagens entre usuários
- Avaliações de trocas realizadas
- Histórico de trocas
-
Recursos da Comunidade
- Fórum de discussão
- Reviews de cartas
- Guias e estratégias
- Sistema de comentários
-
Análise de Preços
- Histórico de preços
- Integração com marketplaces
- Alertas de preço
- Tendências do mercado
-
Recursos Avançados
- API pública para desenvolvedores
- Aplicativo mobile
- Suporte a múltiplos idiomas
- Tema escuro/claro
-
Otimizações
- Cache de imagens
- Lazy loading
- Paginação infinita
- Melhorias de SEO
-
Infraestrutura
- CI/CD
- Testes automatizados
- Monitoramento de erros
- Backup automático
Se você deseja contribuir com alguma dessas funcionalidades:
- Verifique as Issues para ver se a funcionalidade já está sendo desenvolvida
- Crie uma nova issue descrevendo a funcionalidade que você quer implementar
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Implemente suas mudanças
- Faça commit das alterações (
git commit -m 'Add: nova funcionalidade incrível') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está licenciado sob a GNU General Public License v3.0 - veja o arquivo LICENSE para detalhes.