Aplicação Next.js para administrar e consultar uma Pokédex personalizada. Inclui backend com Prisma/SQLite, autenticação via NextAuth e painel administrativo para CRUD de gerações, tipos e Pokémon.
- Painel administrativo protegido (roles ADMIN/EDITOR).
- CRUD para gerações, tipos (relacionamentos: forte, fraco, imune) e Pokémon.
- Upload local de imagem/áudio (armazenados em
public/uploads). - Validação com Zod e ORM Prisma (SQLite).
- Node.js 20+
- Banco SQLite (arquivo) acessível no projeto
- Variáveis de ambiente configuradas (veja
docs/environment.md)
- Clone o repositório:
git clone https://github.com/icidade/fanmon-pokedex.git cd fanmon-pokedex - Instale dependências:
npm install
- Crie
.env.localseguindodocs/environment.md. Um exemplo deDATABASE_URLpara SQLite:DATABASE_URL="file:./dev.db"
- Execute migrações:
(ou
npx prisma migrate deploy
npx prisma migrate devem ambiente local para gerar migrações) - Inicie em modo de desenvolvimento:
A aplicação ficará disponível em http://localhost:3000
npm run dev
npm run dev— servidor de desenvolvimentonpm run build— build de produçãonpm run start— inicia a build em produçãonpm run lint— executa ESLintnpx prisma studio— inspecionar dados localmente
- URL:
/dashboard - A tela de login está em
/login(provider de credenciais do NextAuth). - Permissões: usuários com papel
ADMINouEDITORpodem acessar o painel. - Funcionalidades:
- CRUD de gerações.
- CRUD de tipos com gerenciamento de relações (forte, fraco, imune).
- CRUD de Pokémon: campos principais, estatísticas base e upload local de imagem/áudio.
src/app/api— rotas REST autenticadas (gerações, tipos, Pokémon e autenticação).src/app/dashboard— páginas do painel administrativo.src/lib— Prisma Client, autenticação, validações Zod e utilitários.src/components— formulários e componentes reutilizáveis.prisma/schema.prisma— definição do banco de dados.
Consulte docs/environment.md para a lista completa. As principais:
- DATABASE_URL — conexão (ex.:
file:./dev.dbpara SQLite) - NEXTAUTH_URL — URL da aplicação (ex.: http://localhost:3000)
- NEXTAUTH_SECRET — segredo do NextAuth
- (outros conforme
docs/environment.md)
- Migrações:
npx prisma migrate deploy - Para popular dados de teste (se houver script de seed): execute o script de seed documentado no projeto ou use
npx prisma db seedse configurado.
- Abra uma issue descrevendo a proposta ou bug.
- Faça um fork e crie uma branch com o prefixo
feature/oufix/. - Faça commits claros e um PR para
main. - Respeite as regras de lint e formato do projeto.
MIT License
Copyright (c) 2025 Irlan Cidade
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This is a fan-made project created for educational and non-commercial purposes.
Pokémon and all related names, images, and assets are trademarks and copyrights of
Nintendo, Game Freak, and The Pokémon Company.
This project is not affiliated with, endorsed, or sponsored by these entities.
All Pokémon-related intellectual property belongs to their respective owners.
Para dúvidas ou integração: icidade (no GitHub) — https://github.com/icidade