Skip to content

Latest commit

 

History

History
73 lines (59 loc) · 2.94 KB

README.md

File metadata and controls

73 lines (59 loc) · 2.94 KB

kanbanApp

Projeto desenvolvido como parte do processo seletivo para professor na Let's Code.

O projeto consiste em um backend em C# + ASP.NET Core + WebApi para o frontend disponibilizado pela equipe da Let's Code juntamente com as regras do desafio no link abaixo:

Backend: https://gitlab.com/gabriel.militello1/desafio-tecnico-backend.git

Rodando a aplicação

A aplicação desenvolvida conta com um sistema de login e autorização de acesso baseada em JWT.

O corpo da requisção para realizar o login deve conter "login" e "senha", conforme especificação abaixo:

{ 
 "login": "COLOCAR_USUARIO",
 "senha": "COLOCAR_SENHA"
}

Para realizar requisições primeiramente deve-se configurar a chave JWT e o usuário de acesso através do arquivo appsettings.json.

Abra o arquivo appsetting.json e substitua o campo "JWT:key" pela sua chave JWT e subsitua "credentials:user" e "credentials:password" por um usuário e senha que você desejar (esse usuário será utilizado no momento do login).

{
  "JWT": {
    "Key": "COLOCAR_CHAVE_JWT"
  },
  "credentials": {
    "user": "COLOCAR_USUARIO",
    "password": "COLOCAR_SENHA"
  }
}

Uma vez que esses parâmetros foram configurados é possível rodar a aplicação através da execução do comando abaixo via linha de comando na pasta raiz da aplicação:

> dotnet run --project ./BACK/KanbanApp/KanbanApp.csproj

Realizando o login

Para realizar o login e receber o token de acesso aos demais endpoints o usuário deve realizar uma requisição POST para http://localhost:5000/login com o corpo da requisição descrito no tópico anterior.

(POST)      http://localhost:5000/login/

Uma vez que o login tenha sido realizado com sucesso o usuário poderá utilizar o token para acessar o CRUD de Cards através dos endereços abaixo:

(GET)       http://localhost:5000/cards/
(POST)      http://localhost:5000/cards/
(PUT)       http://localhost:5000/cards/{id}
(DELETE)    http://localhost:5000/cards/{id}

Considerações Finais

O projeto pedia para criar o backend e colocar na pasta "BACK" assumindo que a outra pasta seria o "FRONT" disponibilizado pela equipe da Let's Code.

Entretanto, ao rodar o Front na minha máquina eu fui incapaz de faze-lo funcionar em tempo de desafio. O objeto cards apresentava um erro. Tentei contorna-lo colocando uma trativa conforme o código abaixo. Porém, o erro persistiu em outras etapas do código do FRONT e a falta de tempo hábil me impediu de resolver.

{ cards ? 
    cards.filter(c => c !== undefined && c.lista === 'ToDo').map(c =>
        <Card
            key={c.id}
            titulo={c.titulo}
            conteudo={c.conteudo}
            sendForward={changeListHandler('Doing', c.id)}
            update={updateCardHandler(c.id)}
            remove={removeCardHandler(c.id)}
        />
    ) : <p>Sem cards</p>
}