Desafio Ebytr - To Do List

Boas vindas ao repositório do Desafio Técnico - Caso da empresa Ebytr

Esse desafio foi proposto pela Trybe, em que foram requisitadas habilidades necessáiras para desenvolver um projeto Full Stack. O resultado final é uma plataforma para organização e acompanhamento das tarefas pelos colaboradores da empresa fictícia Ebytr, salvando dados num banco de dados NoSQL através de uma API RESTFull.


Sumário


Contexto do Case

"A empresa Ebytr está passando por problemas de produtividade/controle porque as pessoas colaboradoras vêm tendo dificuldade na organização de suas tarefas individuais. Por esse motivo, a diretora de produto Carolina Bigonha decidiu implantar uma nova forma de organizar as tarefas."

"Você foi a pessoa contratada para desenvolver um sistema capaz de auxiliar as pessoas colaboradoras a se organizar e ter mais produtividade. Na Ebytr o time de desenvolvimento utiliza a Stack MERN para criar suas aplicações. Foi combinado com a Ebytr que você utilizará essa mesma Stack para resolver o problema de organização e produtividade da empresa."

Abaixo estão os requisitos técnicos e as funcionalidades que a solução deve possuir:

Requisitos técnicos

  • Front-End em React;
  • Back-End em NodeJS, com MongoDB;
  • Arquitetura em camadas;

Funcionalidades

  • Visualizar a lista de tarefas;
  • Esta lista deve ser ordenável por ordem alfabética, data de criação ou por status;
  • Inserir uma nova tarefa na lista;
  • Remover uma tarefa da lista;
  • Atualizar uma tarefa da lista;
  • A tarefa deve possuir um status editável: pendente, em andamento ou pronto;

Entregáveis

A solução do desafio foi separarada em duas partes: front-end e back-end, e para o controle de versionamento de cada uma delas foram criados os seus respectivos repositórios:


Usando a plataforma

Após cada um dos passos a seguir, haverá um exemplo de como cada página pode ser usada, caso tenha dificuldades e o exemplo não seja suficiente, não hesite em me contatar em eduardawiltiner@gmail.com.

Primeiro Acesso

Acessando a plataforma neste link , você irá encontrar a tela de Login, será onde você deverá se autenticar para ter acesso ao acompanhamento das tarefas na página Home. Sem a autenticação você não terá acesso a Home, mas quando autenticado(a) você não terá que fazer o login novamente quando fechar a página e abri-la depois durante 24h.

login

Criando uma tarefa

Para criar uma tarefa, você deve apenas clicar no "+" a direita do título "Lista de Tarefas". Uma data de prazo já estará configurada para o mesmo dia de criação da tarefa, mas você pode modificá-la.

criando uma tarefa

Atualizando uma tarefa

Para atualizar uma tarefa, você deve apenas clicar no símbolo de edição à direita de cada tarefa. E você pode perceber que a mudança de status vai interferir na barra de progresso das atividades.

atualizando uma tarefa

Excluindo uma tarefa

Para excluir uma tarefa, você deve apenas clicar no símbolo de edição à direita de cada tarefa e, logo depois, clicar no botão "Remover". E você pode perceber que a mudança de status vai interferir diretamente na barra de progresso.

excluindo uma tarefa

Ordenando a Lista de Tarefas

Você pode ordenar a lista de forma alfabética, pelo status e por data de criação clicando nos botões correspondentes.

order a lista

Filtrar as tarefas

Você pode filtrar as tarefas para aparecer apenas as que estão sob a sua responsabilidade. (recurso implementado recentemente)

filtro de tarefas

Digitando a URL de forma errada

Ao digitar a URL do site de forma errada, não se preocupe, vai paracer a página de erro 404 que vai te ajudar a voltar a Home.

erro 404

Realizando o Logout

Para se desconectar da sua conta, só é necessário clicar em seu nome no NavBar e, em seguida, clicar em "Sair".

saindo da plataforma

Acessando pelo celular

A plataforma não possui uma versão mobile, logo se você tentar usar pelo celular visualizará apenas um aviso sobre isso.

sem versão mobile

Link para o deploy da Plataforma:

https://desafioebytr.vercel.app/

OBS:Lembrando que para acessar a plataforma deve possuir um cadastro no banco de dados.