Skip to content

Neste projeto foi desenvolvida uma API a partir de um excel que se conecta a um banco de dados para a concentração de Pokemóns

Notifications You must be signed in to change notification settings

brenndha-cabral/pokemons-api

Repository files navigation

🚧 Projeto API de Pokémons 🌀

Ilustração do pikachu e a logotipo do pokemón

Índice

📍 Sobre
📍 Tecnologias
📍 Decisões
📍 Orientações
📍 Scripts
📍 Testes
📍 Usabilidade
📍 Documentação
📍 Referências

Sobre

Esta é uma aplicação em Node.js usando o pacote Sequelize para fazer um CRUD de Pokémons 🔥

Foi desenvolvida uma API seguindo os princípios do REST e que conecta ao banco de dados postgreSQL através do supabase. Para acessar a API, é necessário que a pessoa usuária faça login com suas credencias e isso será autenticado e autorizado via JWT com a geração de token. É possível também que a pessoa usuária possa se cadastrar, podendo utilizar assim a API mediante login.

A documentação te ajudará a entender o projeto com maior clareza e assertividade 📖

Tecnologias

JavaScript NodeJS Nodemon Express JWT Docker PostgreSQL Mocha Chai

Decisões

ESLint ESLint

  • O projeto possui regras estritas de ESLint (Airbnb) para JavaScript onde é possível encontrar e corrigir problemas, seguindo boas práticas e padronização.

Docker Docker

  • Utilizar imagens Docker para empacotar toda a aplicação e suas dependências, torna a distribuição mais fácil, segura e padronizada.

Sequelize Sequelize

  • Como uma das bibliotecas de ORM mais conhecidas, o Sequelize foi utilizado nesse projeto pois o código se torna mais legível, extensível e de fácil manutenção.

JWT JWT

  • Os JSON Web Tokens representam a autenticação e autorização de forma eficaz e simples.

Orientações

🔐 Arquivos example.env e .env

ℹ️ Você encontrará um arquivo example.env onde estarão as variáveis de ambiente utilizadas no projeto, duplique-o e renomeie-o apenas para .env e insira os valores nas variáveis de ambiente conforme sua utilização.


🐋 Rodando com Docker x Localmente

👉 Com Docker

ℹ️ Rode o serviço node com o comando docker-compose up.

  • Esse serviço irá inicializar um container chamado pokemons_api;

  • A partir daqui você pode acessar o container pokemons_api via CLI ou abri-lo no seu editor;

ℹ️ Use o comando docker exec -it pokemons_api bash.

  • Ele te dará acesso ao terminal interativo do container criado pelo docker-compose, que está rodando em segundo plano.

ℹ️ Ao rodar o docker-compose, ele automaticamente irá rodar os seguintes comandos:

  • npm install: Irá instalar todas as dependências;

  • npm start: Irá rodar a aplicação na porta 3000 pelo nodemon, ou adapte o docker-compose e o .env caso sinta necessidade.

👉 Sem Docker

ℹ️ É necessário que você tenha o node instalado em sua máquina.

ℹ️ Instale as dependências com npm install.

ℹ️ Rode a aplicação com npm start na porta 3000 pelo nodemon, ou adapte o .env caso sinta necessidade.

Scripts

ℹ️

Testes

ℹ️

Usabilidade

Obs: Veja a seção de documentação para entender melhor como funcionam as rotas.

ℹ️ Após rodar a aplicação localmente, você deverá acessar através de http://localhost:{porta}/{rota}

ℹ️ Para acessar o deploy da aplicação, clique aqui.

Documentação

ℹ️ Acesse aqui a documentação deste projeto onde constam mais detalhes sobre os relacionamentos e entidades elaborados, arquitetura de software utilizada e as rotas possíveis para consumo.

Referências

ℹ️ Este projeto foi inspirado no teste para o cargo de Back-end da empresa RedFox. Para acessar o repositório original, clique aqui.

About

Neste projeto foi desenvolvida uma API a partir de um excel que se conecta a um banco de dados para a concentração de Pokemóns

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published