/fiap-chat

Chat backend

Primary LanguageJava

FIAP - CHAT

Sobre   |    Tecnologias   |    Projeto   |    Colaboradores   |    Banco de Dados   |    Contrato API

🗨 Sobre

Backend de um sistema de chat simples com calendério e cadastro de atividades. Para atender a atividade de Java, relacionamento entre classes e persistência de dados. No projeto contém operações que incluam cadastro, consulta, atualização e exclusão de registros (CRUD).

🚀 Tecnologias

Esse projeto foi desenvolvido com as seguintes tecnologias:

💻 Projeto

Projeto em Java simples, feito no Eclipse, para acomodar as classes e estruturas responsáveis pela persistência futura dos dados manipulados no protótipo. O projeto contém todas as entidades envolvidas e os seus relacionamentos, as classes para persistir e consultar os objetos e classes de teste unitário. Foi utilizado JPA (Java Persistence API), com o framework Spring.

👔 Colaboradores

Desenvolvido pelos profissionais:

🗄 Banco de Dados

Console do h2: http://localhost:8080/h2-console/

JDBC URL: jdbc:h2:mem:testdb
user: sa
password: password

📝 Contrato API

Veja arquivo collection: Fiap - Atividade 1.postman_collection.json

Usuário

Body Request:
 {
     "cpf": "89333800000",
     "login": {
         "email": "email@teste.com",
         "password": "12345678"
     }
 }
Response:
  • 201 : Created
 {
     "data": {
         "id": 1,
         "login": {
             "email": "email@teste.com",
             "password": "12345678"
         },
         "cpf": "89333800000"
     },
     "errors": []
 }
Response:
  • 200 : OK
 {
   "id": 1,
   "login": {
       "email": "email@teste.com",
       "password": "12345678"
   },
   "cpf": "89333800000"
 }
Body Request:
 {
     "id": 15,
     "cpf": "77788420093",
     "login": {
         "email": "email@teste.com.br",
         "password": "a212345678"
     }
 }
Response:
  • 201 : Created
 {
     "data": {
         "id": 15,
         "login": {
             "email": "email@teste.com.br",
             "password": "a212345678"
         },
         "cpf": "77788420093"
     },
     "errors": []
 }
Response:
  • 204 : No Content

Calendário

Body Request:
 {
       "user": {
         "id": 1
     }
 }
Response:
  • 201 : Created
 {
     "data": {
         "id": 1,
         "login": {
             "email": "email@teste.com",
             "password": "12345678"
         },
         "cpf": "89333800000"
     },
     "errors": []
 }
  • 500 : Internal Server Error

"message": "Já existe calendário cadastrado para esse usuário."

Response:
  • 200 : OK
 {
     "id": 2,
     "diasNaoUteis": [
         {
             "id": 12,
             "diaNaoUtil": "2021-01-05"
         },
         {
             "id": 13,
             "diaNaoUtil": "2021-01-25"
         }
     ],
     "user": {
         "id": 1,
         "login": {
             "email": "teste@outlook.com",
             "password": "12345678"
         },
         "cpf": "89333800000"
     },
     "activity": [
         {
             "id": 3,
             "titulo": "Daily",
             "descricao": "Reunião",
             "dt_inicio": "2021-07-14T12:00:00",
             "dt_fim": "2021-07-14T13:00:00"
         },
         {
             "id": 4,
             "titulo": "Daily",
             "descricao": "Reunião",
             "dt_inicio": "2021-07-14T12:00:00",
             "dt_fim": "2021-07-14T13:00:00"
         },
         {
             "id": 5,
             "titulo": "Daily",
             "descricao": "Reunião",
             "dt_inicio": "2021-07-14T12:00:00",
             "dt_fim": "2021-07-14T13:00:00"
         }
     ]
 }

Atividade

Body Request:
 {
   "titulo": "Daily",
   "descricao": "Reunião",
   "dt_inicio": "2021-01-14T12:00:00.00",
   "dt_fim": "2021-01-14T13:00",
   "calendar": {
       "id": 2      
   }
 }
Response:
  • 201 : Created
 {
   "data": {
     "id": 17,
     "titulo": "Daily",
     "descricao": "Reunião",
     "dt_inicio": "2021-01-14T12:00:00",
     "dt_fim": "2021-01-14T13:00:00"
   },
   "errors": []
 }
Body Request:
 {
   "id": 17,
   "titulo": "Daily 2",
   "descricao": "Reunião 2",
   "dt_inicio": "2021-01-14T15:00:00.00",
   "dt_fim": "2021-01-14T16:00",
   "calendar": {
       "id": 2      
   }
 }
Response:
  • 201 : Created
 {
   "data": {
     "id": 17,
     "titulo": "Daily 2",
     "descricao": "Reunião 2",
     "dt_inicio": "2021-01-14T15:00:00",
     "dt_fim": "2021-01-14T16:00:00"
   },
   "errors": []
 }
Response:
  • 204 : No Content

Dia Não Útil

Body Request:
 {
     "diaNaoUtil":"2021-05-25",
      "calendar": {
         "id": 2     
     }
 }
Response:
  • 201 : Created
 {
   "data": {
     "id": 18,
     "diaNaoUtil": "2021-05-25"
   },
   "errors": []
 }
  • 500 : Internal Server Error
    "message": "Dia não util já cadastrado."
Body Request:
 {
   "id": 18,
   "diaNaoUtil":"2021-01-25",
    "calendar": {
       "id": 2     
   }
 }
Response:
  • 201 : Created
 {
   "data": {
     "id": 18,
     "diaNaoUtil": "2021-01-25"
   },
   "errors": []
 }
  • 500 : Internal Server Error
    "message": "Dia não util já cadastrado."
Response:
  • 204 : No Content