/desafiodecisaosistemas

Repositório destinado ao desafio da empresa Decisão Sistemas

Primary LanguageJava

TODO Application

Badge Concluído Badge Java Badge Spring Badge PostgreSQL Badge NodejS Badge Angular

Índice

Descrição do Projeto

Repositório voltado ao desenvolvimento do Desafio da empresa Decisão sistemas

TODO Application é uma aplicação Web onde você consegue gerir tarefas do seu dia-a-dia. A aplicação foi desenvolvida usando dois backends, sendo um em Java e outro em Javascript (Atualmente está sendo utilizado o feito em Javascript). Além disso, o frontend é em Angular.

Funcionalidades

As funcionalidades foram divididas em: criar, editar, excluir, listar e concluir as tarefas.

Métodos

   As requisições para a API devem seguir os padrões:

Método Descrição
GET Retorna informações de um ou mais registros.
POST Utilizado para criar unm novo registro.
PATCH Atualiza dados de um registro ou altera sua situação.
DELETE Remove um registro do sistema.

Criar Atividade

  • Método HTTP
    • POST
  • API Endpoint
    • /api/activity
  • Request (application/json)
      {
          "description": "Fazendo Backend em Java"  
      }
  • Response 200 (application/json)
      {
          "id": 1,
          "description": "Fazendo Backend em Java" ,
          "isCompleted": false,
          "creationDate": 2024-07-15,
          "conclusionDate": null 
      }

Editar Atividade

  • Método HTTP
    • POST
  • API Endpoint
    • api/activity/{id}
  • Request (application/json)
    {
        "description": "Fazendo Backend em Javascript"
    }
  • Response 200 (application/json)
   {
       "id": 1,
       "description": "Fazendo Backend em Javascript" ,
       "isCompleted": false,
       "creationDate": 2024-07-15,
       "conclusionDate": null 
   }

Listar Atividades

  • Método HTTP
    • GET
  • API Endpoint
    • api/activity/get
    [
      {
          "id": 1,
          "description": "Fazendo Backend em Javascript" ,
          "isCompleted": false,
          "creationDate": 2024-07-15,
          "conclusionDate": null 
      },
      {
          "id": 2,
          "description": "Fazendo Frontend em Angular" ,
          "isCompleted": false,
          "creationDate": 2024-07-15,
          "conclusionDate": null 
      }
    ]

Excluir Atividade

  • Método HTTP
    • DELETE
  • API Endpoint
    • api/activity/delete/{id}
  • Response 200 (application/json)
    • O body da resposta é vazio

Marcar Atividade como Completa

  • Método HTTP
    • POST
  • API Endpoint
    • api/activity/complete/{id}
  • Request
    • O body da requisição é vazio
  • Response 200 (application/json)
   {
       "id": 1,
       "description": "Fazendo Backend em Javascript" ,
       "isCompleted": true,
       "creationDate": 2024-07-15,
       "conclusionDate": 2024-07-15
   }

Listar Atividades Completas

  • Método HTTP

    • GET
  • API Endpoint

    • api/activity/get-complete
    [
      {
          "id": 1,
          "description": "Fazendo Backend em Javascript" ,
          "isCompleted": true,
          "creationDate": 2024-07-15,
          "conclusionDate": 2024-07-16 
      },
      {
          "id": 2,
          "description": "Fazendo Frontend em Angular" ,
          "isCompleted": false,
          "creationDate": 2024-07-15,
          "conclusionDate": 2024-07-15 
      }
    ]

    Listar Atividades Incompletas

  • Método HTTP

    • GET
  • API Endpoint

    • api/activity/get-complete
    [
      {
          "id": 1,
          "description": "Fazendo Backend em Javascript" ,
          "isCompleted": true,
          "creationDate": 2024-07-15,
          "conclusionDate": null 
      },
      {
          "id": 2,
          "description": "Fazendo Frontend em Angular" ,
          "isCompleted": false,
          "creationDate": 2024-07-14,
          "conclusionDate": null
      }
    ]

Pessoas Desenvolvedoras


Yan Andrade de Sena

Conclusão

Quando eu recebi a proposta deste desafio da Decisão Sistemas eu fiquei muito empolgado em poder mostrar toda a minha capacidade em programar em pouco tempo. Acredito que meu grande diferencial foi justamente fazer em um curto tempo (Levei cerca de dois dias para fazer os dois backends e 2 frontend). Eu tive um pouco mais de dificuldade no Angular, já que faz um tempinho que eu não mexo nele (Mas bastou ver uns vídeos de tutoriais no YouTube que consegui desenvolver).

Foi divertido e muito interessante fazer esse desafio utilizando NodeJS, a diferença de Node para Java é gritante (Principalmente na quantidade de linhas de código). Fiquei ainda mais interessado em fazer diversos cursos e estudos para me aprofundar nele.

Por fim, agradeço ao desafio proposto e a oportunidade que me ofereceram para eu mostrar meu verdadeiro potencial!