Clique aqui para ter acesso a um preview da Api.
Pokedex Api é um projeto feito para praticar tudo o que aprendi na trybe no módulo de backend, foi desenvolvido por mim durante 10 dias.
É uma api com método CRUD completo, mais partialUpdate (patch /pokedex/id)
e findByID (.get /pokedex/id)
!
A Api contempla os 151 primeiros pokemons e somente quem estiver registrado no banco tem acesso completo ao CRUD após fazer o login e obter o token. Nota: Qualquer pessoa com o link poderá ter acesso ao método get para consumir a Api
Para construção dessa API, foi usado Docker, Typescript, Mongoose para conversar com o banco MongoDB e NodeJS com Express! (As demais Librarys serão citadas abaixo)
Esse projeto está 100% testado com Testes UNITÁRIOS e Testes de INTEGRAÇÃO
Tecnologias e ferramentas utilizadas no desenvolvimento do projeto:
- Chai
- chai-http
- Eslint
- express-async-errors
- Mocha
- Nyc
- Nodemon
- Sinon
- Workflows criados para que todo Pull Requests e Pushs serem revisados usando a própria configuração do ESLINT
# Abra um terminal e copie este repositório com o comando
git clone git@github.com:marlondlacerda/pokedex_backend.git
# ou use a opção de download.
# Entre na pasta web com
cd pokedex_backend
# Instale as dependências
yarn install
ou
npm install
# crie um arquivo ".env" para configurar as variáveis de ambiente e siga o exemplo do arquivo
# ".env.example" para definir as suas configurações
# Rode o aplicação
yarn start
ou
npm start
# Crie uma collection chamada "login" no mongoDB e insira:
{
"username": "insira seu username",
"email": "insira seu email aqui",
"password": "A senha criptografada",
"role": "admin"
}
PARA GERAR A SENHA CRIPTOGRAFADA UTILIZE: https://bcrypt-generator.com/
# Utilize uma ferramenta para realizar as requições de API seja elas:
# SoapUI, Postman, Insomnia etc
#Vá na rota /login usando o método post e utilize o seguinte corpo para gerar o token:
{
"email": "Email que você cadastrou no banco",
"password": "A senha descriptografada",
}
#No endpoint "/pokedex" insira o token gerado no header das requisições:
# "Post, Put, Patch e Delete".
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito por Marlon Lacerda