Skip to content

thalles-victor/CatalogoDeGalaxias

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Galaxies Catalog

tree

Este projeto é um back end para fazer um catálogo de galáxias usando como base o express usando os conceitos de Clean nodeJS e SOLID.

Para iniciar o projeto, é nescessário adicionar a pasta node_modules com o npm ou yarn.

  npm install

Para executar, rode o comando

  npm run start:dev

Até o momento, este projeto não está ultilizando banco de dados. Agora, caso queira fazer o uso: Crie um serviço para o repositório usando seu banco de dados de preferência mas seguindo as regras do IGalaxiesRepositories dentro da pasta Repository, e para cada service na pasta UseCase instanciar o serviço criado e coloque dentro do parâmetro de instancia de cada serviço, seja de criar uma galaxia, listar...

exemplo

  // CreateGalaxies.ts
  ...
  const galaxiesRepository = GalaxiesRepository.getInstance();
  const createGalaxyService = new CreateGalaxyService (galaxiesRepository);
  ...

Exemplo usando o curl

Para documentar eu estou colocando o curl como exemplo, mas você pose usar um insominia, postman, ou até mesmo um client.

Rotas

EndPoint: /galaxies

Métodos

Post

Registra uma nova galáxia

somente requer o body da requisição

body

{
  id?: string;
  name: string;
  description: string;
  uncovered: Date;

  numberOfStars: number;
  numberOfBlackHoles: number;
  numberOfSuperMassiveBlackHoles: number;
}

Teste com o curl

curl -X POST http://localhost:3333/galaxies -H 'Content-Type: application/json' \
-d '{ "name": "Andromeda", "description": "A galaxia mais próxima de nós e que no futuro a via lactea (nossa galáxia) colidira com ela", "uncovered": "ano de 905", "numberOfStars": 1000000000000, "numberOfBlackHoles": 26, "numberOfSuperMassiveBlackHoles": 1 }'

Get

Lista todas as Galaxias

não requer nenhuma infromação já que vai pegar todas as galaxias registradas. Aseguir temos objeto de retorno, lambrando, que ele vai retornan uma lista desses objetos.

  id?: string;
  name: string;
  description: string;
  uncovered: Date;

  numberOfStars: number;
  numberOfBlackHoles: number;
  numberOfSuperMassiveBlackHoles: number;

  created_at: Date;
  updated_at: Date;

Teste com o curl

  curl http://localhost:3333/galaxies

Delete

Remove uma galáxia

O valor indentificador é o id da galáxia, ele tem que ser passado no parâmetro da requisição

  /galaxies/:id

Teste com o curl

Não se esqueça de mudar o id na hora de testar.

  curl -X DELETE http://localhost:3333/galaxies/f7711bde-7106-4484-a9a8-2a2585253710

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published