Obs: Atualmente o projeto está em atualização onde estou incluindo typescript, graphql, Prismadb, Swagger e Docker.
- Comentários sobre o projeto
- O que é o Species Api?
- Deploy
- Tecnologias envolvidas
- Funcionalidades
- Documentação API
- Testes
- Instalação e uso
Durante a época de escola uma das minhas matérias favoritas era a biologia, e dentre os assuntos que mais gostava o estudo dos reinos biológicos (animal, vegetal, fungi, protista e monera) era algo que despertava muito minha curiosidade, tanto que chegava a passar horas e horas em livros lendo sobre o assunto e aprendendo.
Uma parte que achava bastante interessante era o padrão para nomear um ser vivo pertencente a um reino, a forma com que os taxonomistas organizaram isso, após o módulo de back end no curso da Trybe, curti bastante a atuação dessa área e decidi fazer uma pequena contribuição dos meus conhecimentos atuais com esses conhecimentos da infância e assim nasceu a ideia desse projeto.
Esse projeto foi especial porque além dessa parte de classificação de seres vivos, foi um projeto que fiz em TDD usando o Jest. também aprendi a usar o mongoose e o mongo Atlas, além de ser a minha primeira experiência com deploy de api. também consolidei bastante conhecimentos no nodejs e multer.
possui alguma dúvida, feedback ou quer entrar em contato comigo? procure me através do email: tiago.emanuel.n@gmail.com
Uma aplicação Back end onde é possível registrar, listar e editar a taxonomia (classificar espécies) de seres vivos, também é possível adicionar imagem para representar cada espécie
Acesse https://specieapi.herokuapp.com/ e veja a API rodando em tempo real em sua máquina. obs: inicialmente cadastrei apenas 3 espécies no banco de dados, então a API só irá retornar essas espécies
- Javascript
- NodeJs
- MongoDB
- Jest
- Mongoose
- Mongo Atlas
- Multer
- Heroku
- Cadastrar uma nova espécie
- Adicionar imagem da nova espécie
- Listar todas as espécies
- Listar apenas uma espécie
- Editar uma espécie
Obs: Não achei que fazia sentido criar um método para deletar uma espécie, pois mesmo que sua espécie tenha sido extinta ainda seria válido deixar seu registro e no caso de erro durante o cadastro de uma espécie é possível editar.
Esse endpoint é responsável pelo cadastro de uma nova espécie
Os campos reino, filo, classe, ordem, subOrdem, familia, genero, especie, subEspecie, nome
são esperados na requisição
Exemplo de requisição
Será validado que os campos reino, filo, classe, ordem, familia, genero, especie e nome
são obrigatórios
No exemplo abaixo fiz a requisição sem o campo "name", porém o mesmo erro iria se repetir se algum dos campos obrigatórios não fossem enviados na requisição
Esse endpoint é responsável por adicionar uma nova imagem a uma espécie previamente cadastrada.
O campo id deve corresponder ao id da espécie cadastrada
exemplo de requisição
Ao clicar na url a imagem será carregada
Será validado que o campo id deve corresponder a alguma espécie previamente cadastrada no banco de dados, caso esse campo esteja errado será disparado um erro.
exemplo de requisição
Esse endpoint é responsável por listar todas as espécies cadastradas no banco de dados.
exemplo de requisição
Esse endpoint é responsável por listar uma espécie através do id
exemplo de requisição
Será validado que o campo id deve corresponder a alguma espécie previamente cadastrada no banco de dados, caso esse campo esteja errado será disparado um erro.
exemplo de requisição
Esse endpoint é responsável por editar dados de uma espécie previamente cadastrada
Nessa requisição devem ser enviados dados através do id que corresponde a uma espécie preciamente cadastrada, e no corpo da requisição devem ser enviados o dado a ser alterado
exemplo de requisição
Será validado que o campo id deve corresponder a alguma espécie previamente cadastrada no banco de dados, caso esse campo esteja errado será disparado um erro.
exemplo de requisição
É possível abrir o terminal dentro da aplicação e digitar o comando npm test specie.test.js
ou npm test
para testar a aplicação
Para executar o projeto sua máquina deve satisfazer os requisitos abaixo.
Pré-requisitos
- node v16.8.0
- npm 7.21.0
- git version 2.17.1
Digite o comando abaixo para clonar o projeto.
git clone [https://github.com/TiagoEmanuel8/species-Api.git](https://github.com/TiagoEmanuel8/species-Api.git)
Entre na pasta
cd species-Api
npm install
npm start