- Deve ser possível cadastrar usuários.
- Deve ser possível criar tarefas com título e descrição.
- Deve ser possível atualizar tarefas.
- Deve ser possível excluir tarefas.
- Deve ser possível visualizar todas as tarefas em uma lista.
- Deve ser possível implementar paginação na listagem de tarefas.
- Deve ser possível buscar tarefas por título.
- Deve ser possível filtrar tarefas na listagem.
- Deve ser possível implementar autenticação de usuários.
- A tarefa só pode ser atualizada ou excluída pelo usuário que a criou.
- Tarefas devem ter um título e uma descrição para serem criadas.
- O acesso para criar, atualizar e excluir tarefas é restrito a usuários autenticados.
- A paginação da listagem de tarefas deve conter 20 itens por página.
- A busca e os filtros na listagem de tarefas devem ser insensíveis a maiúsculas e minúsculas.
- A interface do usuário deve ser desenvolvida utilizando React.js e Material UI.
- O sistema deve validar os dados do usuário tanto no front-end quanto no back-end.
- A aplicação deve implementar segurança na autenticação dos usuários com JWT (JSON WEB TOKEN).
- O back-end deve ser desenvolvido em Node.js, TypeScript, utilizando o Banco de Dados Acebasse e Express.
- A senha do usuário precisa estar criptografada.
- Os dados da aplicação precisam estar persistidos em um banco Acebase.
- Todas listas de dados precisam estar paginadas com 20 itens por página.
- O usuário deve ser identificado por um JWT(JSON WEB TOKEN).