Mantenha sua jornada pokemon na palma da sua mão com o PokeTrainers! Uma pokedex customizada para que tenha seus pokemons e sua história na palma da sua mão.
O objetivo de fazer o desafio é também o motivo pelo qual o desafio foi lançado, aprender e entender mais sobre banco de dados relacional, bem como, pra mim, treinar conceitos do front end e uma coisa meio diferente do meu comum.
As seguintes ferramentas foram usadas na construção do projeto:
- Cadastro de treinador
- Cadastro de pokemon
- Relação entre treinador e pokemon
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Node.js. Além disto é bom ter um editor para trabalhar com o código como VSCode
# Clone este repositório
$ git clone <https://github.com/TheSupereor/he4rtlabs-C4--poketrainers>
# Acesse a pasta do projeto no terminal/cmd
$ cd he4rtlabs-C4--poketrainers
# Vá para a pasta server
$ cd server
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# O servidor iniciará na porta:5000 - acesse <http://localhost:5000>
# Clone este repositório
$ git clone <https://github.com/TheSupereor/he4rtlabs-C4--poketrainers>
# Acesse a pasta do projeto no terminal/cmd
$ cd he4rtlabs-C4--poketrainers
# Vá para a pasta server
$ cd client-side/poketrainers
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# O cliente iniciará na porta:3000 - acesse <http://localhost:3000>
Inicialmente pensei em fazer algo mais diferente, algo como "crie sua própria história pokemon", onde você poderia adicionar pokemons, itens e uma história própria para si. Todavia vi, com o tempo, que isso ia divergir demais do desafio inicial estabelecido, que era uma pokedex mais simples, por isso há uma secção "Mochila.js" e css's relacionados, mas que ficaram de fora. Fazer dessa forma iria mudar um tanto a forma que o banco de dados iria funcionar, mas seria simples de implementar também. Talvez ainda faça algum dia, em uma versão melhor ainda, podendo coletar insígnias e coisas assim, mas por enquanto deixarei essa belezinha assim.
É isso, obrigado!
#Proposta do desafio:
Pokedéx boladona pra você pegar todos os pokemões do planeta (que você cadastrar)
O projeto tem a finalidade de descrever alguns fatores determinantes para você melhorar sua ideia de banco de dados relacional, consumo de API's e integração.
-
Relações Pertencem à Muitos (BelongsToMany)
Quando você tem duas tabelas e você quer relacionalas com duas chaves "primárias", você usa a relação BelongsToMany.
-
Consumo de API de terceiros
Você irá fazer uma classe (Service) para consumir a API do PokeApi.co e aprender sobre CURL.
-
Projeto Fullstack
Deverá ser uma aplicação com Front e Back-end, onde você deverá julgar como separar essa arquitetura.
Faça uma aplicação (com ou sem autenticação) onde você poderá ter um registro global de pokémons, pegando dados da PokeApi para popular seu banco.
A ideia é você poder cadastrar treinadores e nesses treinadores você deverá vincular pokémons nos quais você quiser.
Modelo de tabelas sugerido:
table: trainers
------
id: int primary key auto increment
name: string
region: string (Kanto, Johto, Hoenn, Sinnoh)
age: int
table: pokemons
------
id: int primary key auto increment
name: string
image_url: string
attribute: string (lighning, ice, fire etc)
table: trainer_pokemons
------
trainer_id: int references id in trainers
pokemon_id int references id in pokemons
Cuidados a se tomar:
- Fazer um layout agradável e o plus de algo tematizado;
- Não ter pressa para terminar o projeto.
Commite as alterações feitas e faça um post ou no nosso Discord na sala #he4rtlabs-challenges ou um post no Twitter com a hashtag #He4rtLabsChallenges e iremos divulgar e/ou fazer um review do seu código.
Caso você se sinta confortável, deixamos um arquivo chamado REVIEW.MD para você fazer alguns comentários sobre o desafio e o que você achou no geral.
Este desafio foi desenvolvido pelo grupo He4rt Developers para uso livre da comunidade.