Você está liderando uma equipe de desenvolvimento responsável por construir um sistema de gerenciamento de tarefas. O sistema consiste em uma aplicação web com funcionalidades de cadastro de usuários, criação de projetos, atribuição de tarefas aos membros da equipe e acompanhamento do progresso das tarefas.
Tarefas:
-
Revisar os requisitos do sistema e identificar possíveis lacunas ou inconsistências.
-
Propor melhorias ou esclarecimentos nos requisitos, se necessário.
-
Desenhar uma arquitetura de software para a aplicação, considerando escalabilidade, modularidade e manutenibilidade.
-
Escolher as tecnologias mais adequadas para cada camada da aplicação (frontend, backend, banco de dados, etc.).
-
Implementar a funcionalidade de cadastro de usuários.
-
Implementar a funcionalidade de cadastro de usuários via importação de planilha. Considere que a planilha pode possuir centenas de milhares de linhas.
-
Implementar a funcionalidade de criação de projetos.
-
Implementar a funcionalidade de atribuição de tarefas aos membros da equipe.
-
Implementar a funcionalidade de acompanhamento do progresso das tarefas.
-
Utilizar boas práticas de programação, como SOLID, design patterns e clean code.
- Criar um plano de gerenciamento de equipe, incluindo alocação de recursos e definição de responsabilidades.
- Escrever testes automatizados para garantir a qualidade do código.
-
Preparar uma apresentação sobre o progresso do projeto, destacando os principais desafios enfrentados e as soluções encontradas.
-
Documentar o código-fonte e criar manuais de uso para os usuários finais.