Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adiciona projeto kanban #395

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lucasmiguelabreu
Copy link

Ferramentas e Bibliotecas Utilizadas:

Backend: NestJS (framework para Node.js que permite criar aplicações escaláveis e de fácil manutenção)
Banco de Dados: Utilizei armazenamento local (arquivo) para salvar dados de forma simples e eficiente.
Frontend: Angular (framework robusto para aplicações web, utilizado por sua arquitetura modular e reutilização de componentes).
Outras ferramentas: TypeScript (para ambos os lados, frontend e backend), Git (controle de versão), e Postman (para testar as APIs).

Princípios de Engenharia de Software Utilizados:

Princípio da Responsabilidade Única (Single Responsibility Principle - SRP): Cada módulo foi projetado para ter uma única responsabilidade, o que facilita a manutenção e a escalabilidade.
Injeção de Dependência: Utilizada no NestJS para garantir que as dependências fossem gerenciadas de forma eficiente, promovendo maior modularidade e testabilidade.
Testabilidade: Foi adotada a escrita de testes unitários e de integração, utilizando Jest no backend, para garantir que cada parte do sistema funcione de forma isolada e integrada.
Separação de Preocupações (Separation of Concerns - SoC): O código foi estruturado de forma que a lógica de negócio no backend e a interface de usuário no frontend estivessem bem separadas, facilitando a manutenção e a escalabilidade do sistema.
Desafios e Problemas Enfrentados:

Integração entre Backend e Frontend: Enfrentei dificuldades para estabelecer a comunicação entre o backend e o frontend, o que impediu a integração adequada entre as duas partes da aplicação.

Melhorias Possíveis:

Banco de Dados: Embora tenha usado o armazenamento local (arquivo), é possível melhorar a persistência de dados migrando para um banco de dados real, como MongoDB ou PostgreSQL, que permitiria um gerenciamento de dados mais eficiente e escalável.

Segurança: A aplicação atualmente não implementa autenticação ou autorização robustas. Implementar JWT (JSON Web Tokens) para autenticação e roles para controle de acesso seriam melhorias importantes para a segurança da aplicação.

Performance: Considerando o crescimento do projeto, poderia implementar cache no backend para otimizar o tempo de resposta, principalmente em operações de leitura de dados frequentemente acessados.

Documentação: Melhorar a documentação, tanto no código quanto em um README detalhado sobre o uso da aplicação, para tornar mais fácil para outros desenvolvedores colaborarem no projeto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant