Skip to content

🌌 | Star Wars Resistence Social Network (Restful/API)

Notifications You must be signed in to change notification settings

phricardo/StarWarsAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 Star Wars Resistence Social Network (API Restful) 🚀

Version

Este trabalho não tinha como requisito o uso de banco de dados, todos os dados são armazenados na memória da máquina enquanto a aplicação estiver rodando. Nosso objetivo é consolidar princípios do Spring Boot, por esse motivo, focamos, especificamente, nos conceitos fundamentais desse framework e do Java, como Programação orientada a objetos, endpoints, métodos HTTP e testes unitários.

⚙️ Technologies:

🗺️ API Documentation

  1. (POST) /rebeldes - Cadastrar um novo Rebelde
  2. (GET) /rebeldes - Listar todos os Rebeldes cadastrados
  3. (GET) /rebeldes/{id} - Selecionar específico Rebelde pela sua ID
  4. (DELETE) /rebeldes/{id} - Deletar específico Rebelde pela sua ID
Segue abaixo um modelo de Json para cadastrar um novo Rebelde
{
  "nome": "Rebeldeson",
  "idade": 30,
  "genero": "masculino",
  "localizacao": {
     "latitude": -21.22,
     "logintude": -22.33,
     "nome": "Andromeda"
  },
    "inventario": {
      "qtdArmas": 10,
      "qtdAgua": 30,
      "qtdMunicao": 8,
      "qtdComida": 13
  }
}

Atualizar Localização do rebelde

  1. (GET) /rebeldes/localizacao/(id) - Selecionar localização de um Rebelde específico pela sua ID
  2. (PUT) /rebeldes/localizacao/(id) - Atualizar localização de um Rebelde específico pela sua ID
Segue abaixo um modelo de Json para atualizar a localização do rebelde
{
  "latitude": -15.22,
  "longitude": -10.33,
  "nome": "Andromeda"
}

Reportar Rebelde, depois de 3 denúncias ele será considerado Traidor

  1. (PATCH) /rebeldes/reportar/{id} - Reportar específico Rebelde pela sua ID

Obter/Gerar Relátorio

  1. (GET) /rebeldes/relatorio - Devolve as informações dos Rebeldes, Traidores e muito mais
Segue abaixo um exemplo do Relátorio retornado pela API em Json
{
    "porcentagemRebeldes": "80.0%",
    "porcentagemTraidores": "20.0%",
    "inventarioRelatorio": {
        "totalArmas": 4,
        "totalAgua": 12,
        "totalMunicao": 24,
        "totalComida": 52,
        "itensPerdidos": 25
    }
}

Negociar Item (Rebelde para Rebelde)

  1. (PUT) /rebeldes/negociar - Rebeldes conseguem negociar entre eles, traidores não negociam!
{
    "rebeldeReceptor": "ID_REBELDE_RECEPTOR",
    "rebeldeFornecedor": "ID_REBELDE_FORNECEDOR",
    "itensReceptor": [{"nome": "arma", "quantidade": 1}, {"nome": "municao", "quantidade": 1}],
    "itensFornecedor": [{"nome": "agua", "quantidade": 3}, {"nome": "comida", "quantidade": 1}]
}
ITEM PONTOS
1 Arma 4
1 Munição 3
1 Água 2
1 Comida 1

✅ Tasks and Requirements:

[✔] - Adicionar rebeldes POST - endpoint: /rebeldes @Pedro Ricardo
[✔] - Listar Rebeldes GET - endpoint: /rebeldes @Pedro Ricardo
[✔] - Selecionar Rebelde pela ID GET - endpoint: /rebeldes/{id} @Pedro Ricardo
[✔] - Deletar Rebelde pela ID DELETE - endpoint: /rebeldes/{id}@Pedro Ricardo
[✔] - Atualizar localização do rebelde PUT - endpoint: /rebeldes/localizacao/{id}/ @Israel Cena
[✔] - Listar localização do rebelde GET - endpoint: /rebeldes/localizacao/(id) @Israel Cena
[✔] - Reportar o rebelde como um traidor PATCH - endpoint: /rebeldes/reportar/{id} @Pedro Ricardo
[✔] - Listar Rebeldes traidores GET - endpoint: /rebeldes/traidores@Pedro Ricardo
[✔] - Negociar itens PUT - endpoint: /rebeldes/negociar @Thiago Assi & @Pedro Ricardo
[✔] - Relatórios GET - endpoint: /rebeldes/relatorio @Pedro Ricardo
[✔] - Adicionar URI para retornar pelo header o endereço do rebelde criado. @Pedro Ricardo
[❌] - Tratamento das Exceções @Lucas Suplino
[✔] - Realizar ao menos 1 (um) cenário de testes @Pedro Ricardo
[✔] - Adicionado Logs @Pedro Ricardo

🖖 Squad Members

phricardorj
Pedro Ricardo
AloneInAbyss
Thiago Assi
israelcena
Israel Cena
LucasSuplino
Lucas Suplino

About

🌌 | Star Wars Resistence Social Network (Restful/API)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages