Uma Api dos 151 primeiros pokemons utilizando NodeJS, Typescript, Docker, MongoDB e Mongoose.

Overview

Pokedex API

GitHub language count GitHub Top Language GitHub last commit

Trybe

Tópicos

Preview

Sobre o Pokedex Api

Tecnologias

Instalação e uso


Preview

Clique aqui para ter acesso a um preview da Api.


Sobre o Pokedex 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

Tecnologias e ferramentas utilizadas no desenvolvimento do projeto:

Principais:

Para o Desenvolvimento:


Instalação e uso

# Abra um terminal e copie este repositório com o comando
git clone [email protected]: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

You might also like...

Mongo Strict is a TypeScript based smart MongoDB ORM, It makes the usage of MongoDB safer, easier and faster with a better performance...

mongo-strict mongo-strict is compatible with mongo = 5 Mongo Strict is a TypeScript-based smart MongoDB ORM, It makes the usage of MongoDB safer, eas

Sep 22, 2022

Set up and build a Node.js REST API using Typescript, Express, Mongoose with a maintainable and scalable structure.

Introduction Create a maintainable and scalable Node.js REST API with TypeScript, Express and Mongoose. The project structure is based on MVC and foll

Nov 18, 2022

Create a maintainable and scalable Node.js GraphQL API with TypeScript, Express, Mongoose and Apollo Server.

Set up and build a Node.js GraphQL API using Typescript, Express, Mongoose with a maintainable and scalable structure

Nov 4, 2022

Mongoose Node.js Express TypeScript application boilerplate with best practices for API development.

Node TypeScript Boilerplate Mongoose The main purpose of this repository is to show a good end-to-end project setup and workflow for writing a Mongoos

Dec 13, 2022

A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose

A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose

Turborepo + Strapi + Next.js + Docker A Turborepo with Strapi v4 (w/ postgres database) + Next.js powered by docker and docker-compose. ⚠️ Prerequisit

Dec 29, 2022

Docker Extension to backup and restore docker volumes.

Docker Extension to backup and restore docker volumes.

vackup-docker-extension This repository contains a Docker Extension that backups Docker volumes. This extension is purely a demonstration of how it'd

Dec 28, 2022

This provides an extension integration with Docker Desktop to run k9s quickly and easily through the Docker Desktop interface.

This provides an extension integration with Docker Desktop to run k9s quickly and easily through the Docker Desktop interface.

k9s extension for Docker Desktop This provides an extension integration with Docker Desktop to allow k9s quickly and easily through the Docker Desktop

Dec 16, 2022

Atlan is a CLI that helps you to manage local dockerized infrastructure without any needed knowledge on Docker and Docker Compose.

Atlan is a CLI that helps you to manage local dockerized infrastructure without any needed knowledge on Docker and Docker Compose.

Atlan CLI Atlan is a CLI that helps you to manage local dockerized infrastructure without any needed knowledge on Docker and Docker Compose. What is A

Aug 17, 2022

An example T3 app containerized with Docker, Docker Compose, and deployed on Railway

Create T3 App This is an app bootstrapped according to the init.tips stack, also known as the T3-Stack. What's next? How do I make an app with this? W

Dec 19, 2022
Owner
Marlon Lacerda
Trybe Student - Future Web Dev Full Stack!
Marlon Lacerda
API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest

Api Backend Tindin Sobre API em NodeJS, utilizando banco de dados MongoDB (TypeORM), com cobertura de testes (coverages), utilizando o Jest. ?? app ur

Enéas Almeida 1 Jan 20, 2022
REST API built with Node.js, MongoDB, Mongoose & TypeScript. I also dabbled with Docker and Caddy for deployments

REST API with Node.js, Mongoose & TypeScript Note: This repository includes the postman collection for the finished API Note 2: Make sure you add .env

Manuchimso Oliver 2 Sep 16, 2022
Repositório criado para prática do dia 14/05 utilizando nodeJs, express, nodemon e MVC. Como base utilizamos o modelo ER criado para uma locadora de filmes fictícia.

gamabuster Repositório criado para prática do dia 14/05 utilizando nodeJs, express, nodemon e MVC. Como base utilizamos o modelo ER criado para uma lo

Délio Costa 3 May 18, 2022
Uma aplicação criada com react-native para armazenar as skills dos usuários cadastrados.

SkillsClass Aplicação focada no gerenciamento de skills dos usuários cadastrados. Uma aplicação desenvolvida no ignite da Rocketseat com alguns toques

Carlos Ferreira 1 Dec 25, 2021
This project uses JavaScript to request resources from PokeApi and Involvement API to display a stunning website about Pokemons.

POKEDEX CAPSTONE Web page used to retrieve information about Pokemons using Pokeapi v2 This project implements the involvement API and the Pokeapi to

Leonardo Pareja Pareja 7 Jun 13, 2022
Nodejs,Expreess,Mongodb,Reactjs,Redux,Java app,Google,Docker,Heroku,...

Tiến độ công việc Team: https://docs.google.com/spreadsheets/d/1BBv4CXNniNjqdIE7tjrG9UM4nprd3NSVy2FX9oaWq0Q/edit#gid=0 Web Online: https://movienetfli

Nguyễn Tiến Tài 10 Sep 17, 2022
This is a website that you can sell your pokemons!

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: ya

Berkan Özgür 4 Dec 23, 2022
Página da Web que tem uma calculadora simples utilizando CSS Grid, JavaScript e HTML

Calculadora-Oline Calculadora exibida online via HTML e CSS, com foco no CSS Grid. Utilizei quatro (sub)grids dentro de uma principal, a qual engloba

João Vitor Esposte Campos 3 Nov 21, 2022
School App / Back-End with MongoDB / mongoose / Express / TS

TEST Api Dependencies El mati se la come es por eso que en 1998 la guerra fria se llevo a mas de la mitad del activo del pais "dependencies": { "axios

Santiago Bancalari 3 Jun 10, 2022
API desenvolvida em NodeJs sem o uso de framewors e, utilizando o google planilhas para armazenamento de dados

NodeJS + Google SpreadSheet Catálogo online de produtos ??️ O Projeto Desenvolver uma API de busca de informações como preço médio, marca e categoria,

Arthur Couto 10 Jul 14, 2022